shell脚本中单引号和双引号的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本中单引号和双引号的区别相关的知识,希望对你有一定的参考价值。

参考技术A shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。(注意是所有,只是单引号本身不能够出现在其中)。
双引号用于保持引号内所有字符的字面值(回车也不例外),但以下情况除外:
$加变量名可以取变量的值
反引号仍表示命令替换
\$表示$的字面值
\`表示`的字面值
\"表示"的字面值
\\表示\的字面值
除以上情况之外,在其它字符前面的\无特殊含义,只表示字面值。
从上就可以看出单引号和双引号的区别。下面举几个例子:

可见,单引号中完全是保持字符串的原型输出,而双引号进行了命令替换。

由上可见虽然单引号和双引号都是字符串的限定符,但还是有所区别。

shell中单引号和双引号

在shell中声明变量后直接使用:

#!/bin/bash

na=zhagnsan

ag=11

echo ‘$na is $ag years old‘

输出:$na is $ag years old

echo "$na is $ag years old"

输出:zhagnsan is 11 years old

所以,在shell脚本中使用“”来进行变量和文本的输出。

 

shell中引用一个变量值时要加美元符 $,而引用变量来对其进行赋值时候,不要用美元符号。

eg:

value=10

value2=$value

echo  $value2

10

以上是关于shell脚本中单引号和双引号的区别的主要内容,如果未能解决你的问题,请参考以下文章

Shell 中单引号和双引号区别

shell中单引号和双引号

Shell中单引号和双引号区别

终于知道 Shell 中单引号双引号的区别了

linux中双引号单引号和不加引号的区别吗

shell中对于单引号,双引号和反引号的处理方式