shell语法错误

错误1.

a=0.5
b=0.4
if[\$a -gt  $b];then
    echo "sucess"
fi

报错:未预期的符号‘then’附近有语法错误

if囧[囧$a -gt $b囧];then
把上面几个「囧」换成空格就好了。

错误2.

a=0.5
b=0.4
if [ $a -gt  $b ];then
    echo "sucess"
fi

报错:[:0.5: 需要整数表达式

-gt -lt等是对整数的比较,浮点数表达式为if [ echo "$a > $b" | bc -eq 1 ]
改为如下:

a=0.5
b=0.4
if [ `echo "$a < $b"|bc` -eq 1 ] ; then
    echo "sucess"
fi

shell中$作用

$$:Shell本身的PID(ProcessID)
$!:Shell最后运行的后台Process的PID
$?: 最后运行的命令的结束代码(返回值)
$- :使用Set命令设定的Flag一览
$*: 所有参数列表。如”$*”用「”」括起来的情况、以”$1 $2 … $n”的形式输出所有参数。
$@: 所有参数列表。如”$@”用「”」括起来的情况、以”$1” “$2” … “$n” 的形式输出所有参数。
$#:添加到Shell的参数个数
$0: Shell本身的文件名
$1~$n:添加到Shell的各参数值。$1是第1参数、$2是第2参数。

猜你喜欢

转载自blog.csdn.net/qq_23142123/article/details/79489259