LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 682|回复: 3

有一段小shell,麻烦帮我看看实现什么功能,谢谢

[复制链接]
发表于 2004-6-22 16:38:47 | 显示全部楼层 |阅读模式

  1. #!/bin/bash
  2. x=0
  3. while [$x -lt 10]
  4. do
  5.    echo "$x \c"
  6.    y=$(($x-1))
  7.    x=$(($$x+1))
  8.    while [$y -gt 0]; do
  9.       y=$(($y-1))
  10.       echo "$y  \c"
  11.    done
  12.    echo
  13. done
  14. done
  15. eval $cmd
复制代码

关键的几句话能否也解释一下,多谢
发表于 2004-6-23 15:17:55 | 显示全部楼层
ntony阿,这题我会做的,但后面的就不行了,不知道谁会做了,原来你一直在这潜水阿~~
发表于 2004-6-23 17:45:54 | 显示全部楼层

回复: 有一段小shell,麻烦帮我看看实现什么功能,谢谢

最初由 nitaoyong 发表

  1. #!/bin/bash
  2. x=0
  3. while [$x -lt 10]
  4. do
  5.    echo "$x \c"
  6.    y=$(($x-1))
  7.    x=$(($$x+1))
  8.    while [$y -gt 0]; do
  9.       y=$(($y-1))
  10.       echo "$y  \c"
  11.    done
  12.    echo
  13. done
  14. done
  15. eval $cmd
复制代码

关键的几句话能否也解释一下,多谢

1.这个程序有多处语法错误:
多了一个done
[]左右边界缺少空格
2.变量无交代($cmd在何处定义?)
3.命令使用错误
转义符用于echo输出时,须加上-e选项;
x=$(($$x+1)),这里是多了一个$!
4.严重的逻辑错误
最离谱的是这个。中间的while循环由于y小于0而根本不会被执行!

鉴于以上,整个程序错漏百出,简直无法运行!

ps:希望各位兄弟以后自己要多思考,多从全局思考问题。学习并不是死功夫!
发表于 2004-6-23 17:46:44 | 显示全部楼层
最初由 一叶知秋 发表
ntony阿,这题我会做的,但后面的就不行了,不知道谁会做了,原来你一直在这潜水阿~~

这位兄弟,你会做?如何做?如何不错?还请你指教!
如果你们是做作业,就请你们把题目给说出来。切勿断章取义。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表