我在这里关注教程:http://bash.cyberciti.biz/guide/If..else..fi#Number_Testing_Script

我的脚本看起来像:

lines=`wc -l $var/customize/script.php`
if test $lines -le 10
then
    echo "script has less than 10 lines"
else
    echo "script has more than 10 lines"
fi

但我的输出看起来像:
./boot.sh: line 33: test: too many arguments
script has more than 10 lines

为什么说我有太多争论?我看不到自己的脚本与教程中的脚本有何不同。

最佳答案

wc -l file命令将打印两个单词。尝试这个:

lines=`wc -l file | awk '{print $1}'`

要调试bash脚本(boot.sh),您可以:
$ bash -x ./boot.sh

它将打印执行的每一行。

关于bash - shell 脚本: if statement,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10993339/

10-14 18:08