我写了一个 shell 脚本来比较两个包含数字的变量。如果变量包含相同的数字,则脚本运行良好。但是,如果第一个变量(数字)大于第二个变量(数字),它就会失败。
这是shell脚本。注:LST1=51228,LST2=34152
#!/bin/ksh
LST1=`cat /tmp/1.lst`
LST2=`cat /tmp/2.lst`
echo $LST1 $LST2
if [[ $LST2 -gt $LST1 ]];then
cat $LST2 >/tmp/0.cmp
else
echo "do nothing" >/tmp/0.cmp
fi
以下是运行时错误:
#!/bin/ksh
LST1=`cat /tmp/1.lst`
+ + cat /tmp/1.lst
LST1=34152
LST2=`cat /tmp/2.lst`
+ + cat /tmp/2.lst
LST2=51228
echo $LST1 $LST2
+ echo 34152 51228
34152 51228
if [[ $LST2 -gt $LST1 ]];then
cat $LST2 >/tmp/0.cmp
else
echo "do nothing" >/tmp/0.cmp
fi
+ [[ 51228 -gt 34152 ]]
+ cat 51228
+ 1> /tmp/0.cmp
cat: Cannot open 51228: No such file or directory