shell易混淆的特殊字符 详解
目录
1 & 和 && 有什么区别
& 希望脚本在后台运行的时候使用它
&& 当前一个脚本成功完成才执行后面的命令/脚本的时候使用它
2 ’ 和 " 引号有什么区别
’ 当我们不希望把变量转换为值的时候使用它。
" 会计算所有变量的值并用值代替。
3 [ $a == $b ] 和 [ $a -eq $b ] 有什么区别
[ $a == $b ] 用于字符串比较
[ $a -eq $b ] 用于数字比较
4 = 和 == 有什么区别
= 用于为变量复制
== 用于字符串比较
5 $* 和 $@ 有什么区别
$* 以一个字符串形式输出所有传递到脚本的参数
$@ 以 $IFS 为分隔符列出所有传递到脚本中的参数
|
|
6 $? 表示什么意思
$? 获取上一个命令的退出状态。( #参数正确,退出状态为0 ; #参数错误,退出状态1)
$? 还可以获取函数的返回值
7 ${variable:-10}和 ${variable: -10}有什么区别
${variable:-10} 如果之前没有给 variable 赋值则输出 10;如果有赋值则输出该变量
${variable: -10} 输出 variable 的最后 10 个字符