在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键下面,在英文模式下输入。

原文地址:https://www.cnblogs.com/zhangyiqinga/p/9777146.html

时间: 2024-11-05 21:50:41

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

Bash中单引号和双引号的区别

单引号和双引号的区别 单引号:必须成对使用,它可以保护所有的字符不被翻译.如变量$1,和奇数个单引号的作用相同,偶数个单引号=1个双引号双引号:必须成对出现,它可以保护一些元字符不被翻译,但允许变量和命令替换,和偶数个单引号的作用相同反斜线\:shell也不解释转义符\后的字符,'$1'和"\$1"一样单引号和双引号可以互相保护 例子1: $ cat test.sh #!/bin/bash echo "$1"=$1 "$2"=$2 echo '$

shell脚本中反引号与双引号的·区别与联系

双引号 目的: 为了包含文字或者函数段. 除了本身,反引号内的函数,$开头的变量和\开头反转换的字符外, 其余都是直接输出. 被双引号用括住的内容,将被视为单一字串.它防止通配符扩展,但允许变量扩展.这点与单引数的处理方式不同. 反引号 目的是为了在双引号内保持函数转换. 但单引号内其无作用.在前面的单双引号,括住的是字串,但如果该字串是一列命令列,会怎样?答案是不会执行.要处理这种情况,我们得用反单引号来做.fdv=`date +%F`echo "Today $fdv"在倒引号内的

Shell脚本中单引号(‘)和双引号(“)的使用区别[转载]

shell可以识别4种不同类型的引字符号: 单引号字符' 双引号字符" 反斜杠字符\ 反引号字符` 1. 单引号 ( '' ) # grep Susan phonebook Susan Goldberg 403-212-4921 Susan Topple    212-234-2343 如果我们想查找的是Susan Goldberg,不能直接使用grep Susan Goldberg phonebook命令,grep会把Goldberg和phonebook当作需要搜索的文件 # grep 'Su

Linux Bash脚本基本语法知识

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 前提:读者能够基本使用一款文本编辑器以及了解文件的权限概念. 准备工作 在/home目录创建script文件用于保存所有的脚本程序: # mkdir /home/script # cd /home/script/ Bash脚本的基本输入输出 第一个bash脚本: # vim ./hello-world.sh 说明: "#!"是一个约定标记,它告诉系统这个脚本需要什么解释器来执行 作为可

菜鸟的Linux之路3 bash脚本编程之二

整数测试及特殊变量     在开始之前我们先介绍一个可以提前结束脚本的命令->exit exit的作用是退出当前进程.退出当前脚本,任何一个命令或者说是任何一个进程执行结束的时候都会有一个执行结果返回值和一个执行状态结果返回值,exit是用来让用户自定义执行状态结果返回值的命令. 命令.脚本或者说是进程的执行状态结果有两种情况: ->正确执行 ->错误执行 而这种状态可以使用exit命令自定义. exit命令使用格式:exit #(0-255) 0值,表示执行正确 1-255的值,均表示

Linux应用环境实战10:Bash脚本编程语言中的美学与哲学(转)

阅读目录 一.一切皆是字符串 二.引用和元字符 三.字符串从哪里来.到哪里去 四.再加上一点点的定义,就可以推导出整个Bash脚本语言的语法了 五.输入输出重定向 六.Bash脚本语言的美学:大道至简 总结: 我承认,我再一次地当了标题党.但是不可否认,这一定是一篇精华随笔.在这一篇中,我将探讨Bash脚本语言中的美学与哲学. 这不是一篇Bash脚本编程的教程,但是却能让人更加深入地了解Bash脚本编程,更加快速地学习Bash脚本编程. 阅读这篇随笔,不需要你有Bash编程的经验,但一定要和我一

Linux江湖10:Bash脚本编程语言中的美学与哲学

我承认,我再一次地当了标题党.但是不可否认,这一定是一篇精华随笔.在这一篇中,我将探讨Bash脚本语言中的美学与哲学.这不是一篇Bash脚本编程的教程,但是却能让人更加深入地了解Bash脚本编程,更加快速地学习Bash脚本编程.阅读这篇随笔,不需要你有Bash编程的经验,但一定要和我一样热衷于探索各种编程语言的本质,感悟它们的魅力. 其实早就想写关于Bash的东西了.前几天看到有博友在院子里发学习Bash的心得(这里http://www.cnblogs.com/viroyiheng/p/3988

Linux Bash脚本编程语言中的美学与哲学

我承认,我再一次地当了标题党.但是不可否认,这一定是一篇精华随笔.在这一篇中,我将探讨Bash脚本语言中的美学与哲学. 这不是一篇Bash脚本编程的教程,但是却能让人更加深入地了解Bash脚本编程,更加快速地学习Bash脚本编程. 阅读这篇随笔,不需要你有Bash编程的经验,但一定要和我一样热衷于探索各种编程语言的本质,感悟它们的魅力. 其实早就想写关于Bash的东西了. 我们平时喜欢对编程语言进行分类,比如面向过程的编程语言.面向对象的编程语言.函数式编程语言等等.在我心中,我认为Bash就是

从此编写 Bash 脚本不再难【转】

从此编写 Bash 脚本不再难 原创 Linux技术 2017-05-02 14:30 在这篇文章中,我们会介绍如何通过使用 bash-support vim 插件将 Vim 编辑器安装和配置 为一个编写 Bash 脚本的 IDE. -- Aaron Kili 本文导航 -什么是 bash-support.vim 插件? …… 05% -如何在 Linux 中安装 Bash-support 插件 …… 10% -如何在 Vim 编辑器中使用 Bash-support 插件 …… 17% -如何为