红联Linux门户
Linux帮助

新手遇到的问题,请大家帮帮忙

发布时间:2008-03-31 13:50:06来源:红联作者:xiaopengzi
[/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 编辑 ]
文章评论

共有 8 条评论

  1. xiaopengzi 于 2008-04-01 10:36:45发表:

    谢谢大家的帮忙,已经解决了!:0wmjh(1
    符号用错了!!!

  2. xiaopengzi 于 2008-04-01 10:04:37发表:

    还是不行(3):os
    while前面是加了个单引号吗?

  3. huangqimin4 于 2008-03-31 18:49:17发表:

    不好意思啊
    我先给你解释下一下test是用来做什么的
    test是给表达式赋值的 test命令可以用括号来代替 用了test 命令后表达式不能被赋值
    所以你的式子可以改为'while test ‘$int -le 5’或者是'while ($int -le 5)

  4. 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))'

  5. huangqimin4 于 2008-03-31 15:17:59发表:

    while test $int -le 5 #这一句是不是有问题呀?老是出现提示说,test:too many arguments
    改写为while test (($int -le 5))

  6. xiaopengzi 于 2008-03-31 14:22:00发表:

    :0w223dc 没有来帮帮我呀!!!

  7. xiaopengzi 于 2008-03-31 14:10:26发表:

    这个也用了的,但是出来的提示是:[1:command not found

  8. yezhulin1982 于 2008-03-31 13:56:01发表:

    试一下:
    while [ $int -le 5 ]