红联Linux门户
Linux帮助

小shell语句 哪里有痔疮

发布时间:2011-10-31 18:05:50来源:红联作者:wokanhaoziji
[i=s] 本帖最后由 wokanhaoziji 于 2011-11-7 15:15 编辑 [/i]

哥哥 们看一下 很长时间没看出来 他的作用是 计算 写入的数的阶乘
文章评论

共有 12 条评论

  1. wokanhaoziji 于 2011-11-07 15:14:40发表:

    首先谢谢 大家的帮助 尤其是那位辛苦写代码的哥
    呵呵 在这里受益良多啊 尤其是看了大家的评语 汗颜{:3_109:}
    这里也有一种 大家也看看
    #!/bin/bash
    s=1
    i=1
    while [ $s -le $i ]
    do
    let s=s*i
    let i=i+1
    done
    echo $s

  2. zx84123 于 2011-11-05 15:58:19发表:

    C 与 shell 的混合体

  3. LinusLin 于 2011-11-05 14:56:33发表:

    楼上的好样的。\(^o^)/~

  4. yanyongkg 于 2011-10-31 18:05:51发表:

    [i=s] 本帖最后由 yanyongkg 于 2011-11-3 23:30 编辑 [/i]

    方法一:
    #!/bin/bash
    sum=1
    i=1
    while [ "$i" -le "10" ]
    do
    sum=$((sum*i))
    i=$((i+1))
    done
    echo $sum

    方法一的第二种写法:
    #!/bin/bash
    sum=1
    i=1
    while (( "$i" <= "10" ))
    do
    sum=$((sum*i))
    i=$((i+1))
    done
    echo $sum

    方法二:
    #!/bin/bash
    sum=1
    for((i=1;i<=10;i=i+1))
    do
    sum=$((sum*i))
    done
    echo $sum

  5. wonderall 于 2011-11-01 18:32:02发表:

    c跟shell的混合体

  6. linuxunix 于 2011-11-01 17:38:59发表:

    明显就不对呀!

  7. dchwlinux 于 2011-11-01 15:50:50发表:

    累乘得有个初始值吧?i*=$i肯定不对啊,i 还要用来判断呢,不能赋值给它。应该是t=t*i之类的,循环外面少个t=1,最后echo $t

  8. lykginy 于 2011-11-01 13:48:24发表:

    顺便插一句,你这样写应该实现不了 “计算 写入的数的阶乘” 吧

  9. wokanhaoziji 于 2011-11-01 10:46:15发表:

    2# Eliyah


    哦 那这个10的语法 看明白了 shell 怎么写

  10. CoDi 于 2011-10-31 21:17:41发表:

    上燕红牌膏药

  11. zs5577517 于 2011-10-31 19:36:58发表:

    shell 语法只是和C有点类似。。可以去看看shell脚本的语法

  12. Eliyah 于 2011-10-31 19:13:23发表:

    大哥,shell里面哪有i++的写法?你当c在弄啊