bash单引号和双引号的(附带实例)
单引号和双引号应用于在变量赋值过程,如果变量的值出现空格,就必须用引号括起来,否则赋值不成功。
引号有单引号和双引号之分,二者的主要区别在于:
还是来看例子:
如果在字符串中出现的某个字符需要取消特殊含义,就可以使用转义符(\)。
如果在某个字符串中出现了多个拥有特殊含义的字符,而我们需要将字符串中出现的所有特殊含义字符全部取消特殊含义,就可以使用单引号('')将字符串包含。
引号有单引号和双引号之分,二者的主要区别在于:
- 被单引号括起来的字符都是普通字符,就算特殊字符也不再具有特殊含义;
- 在被双引号括起来的字符中,“$”、“\”和反引号是拥有特殊含义的,“$”代表引用变量的值,反引号代表引用命令。
还是来看例子:
[root@localhost ~]# name=hb #定义变量 name 的值是 hb [root@localhost ~]# echo '$name' $name #如果输出时使用单引号,$name 就原封不动地输出 [root@localhost ~]# echo "$name" hb #如果输出时使用双引号,就会输出变量 name 的值 hb [root@localhost ~]# echo `date` Thu Dec 26 5:20:00 CST 2023 #反引号括起来的命令会正常执行 [root@localhost ~]# echo "date" Thu Dec 26 5:21:00 CST 2023 #如果被双引号括起来,那么这条命令正常执行 [root@localhost ~]# echo "`date`" `date` #但是如果反引号括起来的命令又被单引号括起来,这条命令就不会执行,`date` 会被当成普通字符输出通常,我们在要将某字符串表示为整体时使用双引号(""),双引号可以在不影响特殊字符的特殊含义的情况下,将字符串表示为整体。
如果在字符串中出现的某个字符需要取消特殊含义,就可以使用转义符(\)。
如果在某个字符串中出现了多个拥有特殊含义的字符,而我们需要将字符串中出现的所有特殊含义字符全部取消特殊含义,就可以使用单引号('')将字符串包含。