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