Linux下Shell脚本字符串单引号、双引号、反引号、反斜杠的作用和区别

一、单引号

str='this is a string'

单引号字符串的限制:

单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

单引号字串中不能出现单引号(对单引号使用转义符后也不行)。

二、双引号

your_name='qinjx'
str="Hello, I know your are "$your_name"! 
"

双引号的优点:

双引号里可以有变量

双引号里可以出现转义字符

三、反引号(``) 

命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。shell中有两种方法作命令替换:把shell命令用反引号或者$(...)结构括起来,其中,$(...)格式受到POSIX标准支持,也利于嵌套。 

echo The date and time is `date` 
#The date and time is 三 6月 15 06:10:35 CST 2005 
echo Your current working directory is $(pwd) 
#Your current working directory is /home/howard/script 

四、反斜杠 backslash-escaped( ) 

反斜杠一般用作转义字符,或称逃脱字符,Linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号 

echo -e "
" 

反斜杠的另一种作用,就是当反斜杠用于一行的最后一个字符时,Shell把行尾的反斜杠作为续行,这种结构在分几行输入长命令时经常使用。

参考:

http://www.jb51.net/article/52379.htm(以上内容部分转自此篇文章)

http://www.jb51.net/article/33495.htm(以上内容部分转自此篇文章)

http://blog.csdn.net/iamlaosong/article/details/54728393

原文地址:https://www.cnblogs.com/EasonJim/p/8018545.html