从 ubuntu 6.10 开始,ubuntu 就将先前默认的 bash shell 更换成了dash shell,其表现为 /bin/sh 链接倒了 /bin/dash 而不是传统的 /bin/bash。
可以通过 ls -l /bin/*sh 命令看到:
所以在使用 sh 命令执行脚本的时候实际使用的是 dash,而 dash 不支持这种 C 语言格式的 for 循环写法。
解决方法:使用 bash 代替 sh 运行脚本:
bash test.sh
This_Is_Y 参考文章
从 ubuntu 6.10 开始,ubuntu 就将先前默认的 bash shell 更换成了dash shell,其表现为 /bin/sh 链接倒了 /bin/dash 而不是传统的 /bin/bash。
可以通过 ls -l /bin/*sh 命令看到:
所以在使用 sh 命令执行脚本的时候实际使用的是 dash,而 dash 不支持这种 C 语言格式的 for 循环写法。
解决方法:使用 bash 代替 sh 运行脚本:
bash test.sh