在bash脚本的for i in编写中将点号``写成单引号‘’或者双引号“”会有什么后果?

编写一个测试脚本:

输入启动命令:https://blog.csdn.net/zhoucheng05_13/article/details/test.sh,结果报错

使用的是root用户,但是仍然提示权限不足。

输入/bin/sh test.sh,可以启动脚本,但语法报错:

错误提示循环变量不对。百度了一下该错误,解释如下:

因为Ubuntu为了加快开机速度,用dash代替了传统的bash,而在dash中,循环的编写方法不同。要运行这个脚本,必须使用 bash test.sh。

执行ls -l /bin/*sh可以查看到:

在ubuntu中,/bin/sh是一个指向dash的符号链接,因此,要使用bash语法,就要使用bash命令。
使用bash进行测试,成功运行:

测试结果:

并没有创建10个文件,而是只创建了两个文件。

结果同样不对

测试结果,正确!:

注意,点号`在键盘最左边,esc键下面,在英文模式下输入。

posted @ 2018-10-12 11:29  张一清  阅读(328)  评论(0编辑  收藏  举报
友情链接:回力 | 中老年女装 | 雅思培训 | SAT培训 | 雅思和托福