Linux下Shell脚本字符串单引号、双引号、反引号、反斜杠的作用和区别
一、单引号
str='this is a string'
单引号字符串的限制:
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
单引号字串中不能出现单引号(对单引号使用转义符后也不行)。
二、双引号
your_name='qinjx' str="Hello, I know your are \"$your_name\"! \n"
双引号的优点:
双引号里可以有变量
双引号里可以出现转义字符
三、反引号(``)
命令替换是指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 "\n"
反斜杠的另一种作用,就是当反斜杠用于一行的最后一个字符时,Shell把行尾的反斜杠作为续行,这种结构在分几行输入长命令时经常使用。
参考:
http://www.jb51.net/article/52379.htm(以上内容部分转自此篇文章)
http://www.jb51.net/article/33495.htm(以上内容部分转自此篇文章)