- 双引号 使用双引号可以引用除字符
$
,`反引号,\反斜杠外的任意字符或者字符串。 也就是说在双引号中的$还是会被当做变量替换进行展开!
zhenjunliu@~$var="lzjsqn"
zhenjunliu@~$echo $var
lzjsqn
zhenjunliu@~$var1="lzjsqn $var"
zhenjunliu@~$echo $var1
lzjsqn lzjsqn
zhenjunliu@~$echo "lzjsqn $var"
lzjsqn lzjsqn
- 单引号 单引号与双引号类似,不同的是shell会忽略任何引用值。换句话说,如果屏蔽了其特殊含义,会将引号里的所有字符,包括引号都作为一个字符。也就是说单引号里面的内容会直接输出或者全部赋值给变量,毫无特殊字符可言!!
zhenjunliu@~$echo 'lzjsqn $var'
lzjsqn $var
- 反引号 反引号用于设置系统命令的输出到变量。shell将反引号中的内容作为一个系统命令,并执行其内容。
zhenjunliu@~$echo “AlohaJack `echo $PATH`”
“AlohaJack /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/opt/eclipse”
- 反斜杠 如果一个字符有特殊含义,反斜杠防止shell误解其含义,即:屏蔽其特殊含义。
下属字符含有特殊含义:$ * + ^ ` ‘’ | ?
zhenjunliu@~/Documents/shell$echo *
01.sh 02.sh 03.sh
zhenjunliu@~/Documents/shell$echo \*
*