[/color]
[color=#331199]
int=1
[color=red]while test $int -le 5 #这一句是不是有问题呀?老是出现提示说,test:too many arguments
do
sq=`expr $int \* $int`
echo $sq
int=`expr $int + 1`
done
echo "Job completed"
哪位帮忙看看吧!(6)m:b [/color]
还有一个问题不太明白
$ int='expr 3 + 5'
$ echo $int
$ expr 3 + 5 出来的结果为什么不是8呢?
[ 本帖最后由 xiaopengzi 于 2008-3-31 14:14 编辑 ]
xiaopengzi 于 2008-04-01 10:36:45发表:
谢谢大家的帮忙,已经解决了!:0wmjh(1
符号用错了!!!
xiaopengzi 于 2008-04-01 10:04:37发表:
还是不行(3):os
while前面是加了个单引号吗?
huangqimin4 于 2008-03-31 18:49:17发表:
不好意思啊
我先给你解释下一下test是用来做什么的
test是给表达式赋值的 test命令可以用括号来代替 用了test 命令后表达式不能被赋值
所以你的式子可以改为'while test ‘$int -le 5’或者是'while ($int -le 5)
xiaopengzi 于 2008-03-31 16:38:34发表:
line 6 while test (($int -le 5))
这样也不行,出现的提示是line 6:symtax error near unexpected token '('
line 6:'while test (($int -le 5))'
huangqimin4 于 2008-03-31 15:17:59发表:
while test $int -le 5 #这一句是不是有问题呀?老是出现提示说,test:too many arguments
改写为while test (($int -le 5))
xiaopengzi 于 2008-03-31 14:22:00发表:
:0w223dc 没有来帮帮我呀!!!
xiaopengzi 于 2008-03-31 14:10:26发表:
这个也用了的,但是出来的提示是:[1:command not found
yezhulin1982 于 2008-03-31 13:56:01发表:
试一下:
while [ $int -le 5 ]