我編寫了一個shell腳本,用於比較兩個包含數字的變量。如果變量包含相同的數字,腳本運行良好。但是如果第一個變量(數字)大於第二個變量(數字)則失敗。比較數字時,簡單的ksh 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
工作。我忽略了顯而易見的使用echo命令。謝謝你的幫助! – user2815189