每当我们想说明什么的时候,我们都需要通过单引号或双引号来引用我们的说法或项目。但使用引号时,我们会消除其中使用的特殊字符的实际含义。有时,有必要去掉引号,以一种新的方式来阐述某件事或某段代码。因此,为了做到这一点,我们在引号内使用一些转义字符。这些字符如下。
- 这可能是一个反斜杠( \ ):这不应该被引用。
- 另一个是美元符号($):这个符号主要用于在bash中声明一个变量。但是为了逃避单引号,我们用不同的方式来使用它们。大多数情况下,美元符号和反斜杠一起使用。
例1
在第一个例子中,我们将从去除一行或一段代码中的引号的基础知识开始。以一个变量为例,"a "是这里用来存储一个字符串值的变量,如$a。该字符串被置于单引号中。术语 "echo "用于打印该特定变量的值。你会看到字符串中的单引号被删除。如果你在变量名上使用单引号并进行打印,你会知道只有变量名被显示出来,而不是里面的值。同样,如果你在单引号前使用反斜杠"/",那么字符串就会再次用单引号进行编码。
$ a=’C sharp is a good programming language’
$ echo $a
$ echo ‘$a’
$ echo \’$a\’

例2
有时在完成任何任务时,会出现这样的情况,我们觉得需要在字符串中打印一个单引号。单引号不用于已经有引号的字符串。所以你可以通过在单引号后面使用反斜杠来克服这个问题。在这里,反斜杠和引号被用于 "不要 "这个词中。整个字符串在变量声明的开始处伴随着'$'符号。
$ x=$ ‘I like eating but I don\’t like swimming’
$ echo $x

当我们打印该变量时,我们将得到不带单引号的值。
例3
任何事情都有一些缺点和优点。使用单引号的一个优点是,如果它的变量被用在引号内,就不会被打印出来,因为它被分配给了变量。例如,在这里,"b "是一个具有单引号字符串的变量。我们通过echo命令来打印该变量。在这里,变量被用在双引号内,所以整个字符串被显示出来,没有任何引号。
$ b=’Front end designing’
$ echo “HTML is used for $b”

换句话说,这里用引号内的引号来创建一个简单的字符串。
例4
当单引号和双引号的字符串在任何命令中一起使用时,它们的作用都差不多。但是当你在它们之间使用空格时,它们就会作为一个单独的字符串工作。这里我们以不同的方式使用了三个字符串。
首先,我们使用了这些双引号的字符串,它们之间有空格。你会看到这三个值分别显示在一个新的行中。现在使用了三个带双引号的字符串,它们之间没有任何空格。从结果来看,你会发现它们作为一个单一的字符串出现。所有三个单独的字符串被合并,没有任何引号。
$ printf ‘%s\n’ “Linux” “Windows” “MacOS”
现在这个命令有了一些变化。一个双引号的字符串被两个单引号的字符串所包围,在第三个打印中使用。这个命令的结果与第二个打印的结果相同。 三个字符串中的单引号和双引号被去掉,这些字符串被集体打印。
$ printf ‘%s\n’ “Linux”“Windows”“MacOS”
$ printf ‘%s\n’ ‘Linux’“Windows”‘MacOS’

例5
向另一个例子发展,我们需要创建一个扩展名为 "file.sh "的文件。在创建之后,通过使用bash代码来编辑它。众所周知,美元符号与反转逗号是不相容的。因此,为了集体使用它们,我们需要在双引号的字符串中的美元符号后面加一个反斜线。
a=”In “Biology” I got \$80”
为了便于打印,我们将使用 "for "循环。这将打印我们给变量的字符串中的所有单词。
For word in $a
Do
Echo $word

写完代码后,现在以.sh为扩展名保存该文件。到终端去获取输出。写下给定的命令。
$ bash file.sh

显示出所有的元素都没有任何引号。因为有循环,所以结果的项目出现在一个新的行中。
例6
这个例子与单引号字符串中双引号的使用有关。这些双引号里面有空白。在这个例子中,我们取了两个用双引号分隔的字符串。这将以一个没有单引号和双引号的普通字符串结束。
$ printf ‘%s\n’ ‘Linu$ux’””’ubu\ntu’

例7
下一个例子是一种冒险的做法。但要使用任何没有引号的简单句子,我们必须使用连续的步骤。这是一个冒险的例子,因为它需要文件夹名称的参与。但对于解释目前这个从字符串中转出引号的概念来说,这是必要的。第一步是列出你系统中的所有文件夹和文件,这可以通过使用相应的命令来完成。
$ ls
你将会看到所有的文件夹和文件名,此后就是将字符串的值引入变量的时候了。这里需要注意的一点是,我们将在字符串的开头使用星号;这将向你显示未加引号的字符串以及所有文件名和文件夹。这种方法与前面定义的那些例子并不相似。如果你在结尾处使用星号,那么这将在结果中显示字符串结尾处的所有文件名。
$ X=’ * I am a good student’
$ printf ’*%s\n’ ${x}

输出结果显示,通过使用上述例子,单引号也被去除。我们还可以从字符串中去掉星号,但其方法与文章前面描述的相同。

例8
这个例子与串联法有关,即把两个字符串合并起来,只是把两个字符串的单引号去掉。这里定义了一个字符串,而另一个则是一个常数。
$ a=’The price of this book is:’
现在把这个变量和常数的值一起打印出来。
$ printf ‘%s\n’ “$a” ‘$200’
从输出结果来看,你可以看到这两个字符串都是一起写的,没有单引号。

总结
我希望这个指南对你在处理bash属性时根据你的要求使用转义字符、单引号和双引号会有帮助。