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

Posted zhangyiqinga

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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键下面,在英文模式下输入。


以上是关于在bash脚本的for i in编写中将点号``写成单引号‘’或者双引号“”会有什么后果?的主要内容,如果未能解决你的问题,请参考以下文章

编写快速安全Bash脚本的建议

在 bash 脚本中将 SSH 输出捕获为变量

在 Bash 脚本中将 Telnet 命令传递给 SSH

如何在 Bash 脚本中将 (FTP) 文件上传到服务器?

for in循环语句批量重命名的问题;bash

for脚本循环