Shell用#作为注释的开头。 Shell有三种引用机制:转义字符、单引号和双引号。
- 不带引号的反斜杠“\”是Bash转义字符。它保留后面字符的文字值,换行符除外。如果出现\newline,且反斜杠本身未被引用,则\newline将被视为行的延续.
set -ex
echo Hello \
World! \
How are you? \
Bye !
- 单引号:将字符括在单引号 (‘’’) 中会保留引号中每个字符的文字值。单引号不能出现在单引号之间,即使前面有反斜杠。
a='Hello world'
home='$a'
echo variable home:
echo $home
执行后输出:
variable home:
$a
- 双引号:在双引号 (‘"’) 中包含字符将保留引号中所有字符的文字值,但 ‘$’, ‘`’, ‘\’和启用历史扩展时的“!”除外,字符‘$’, ‘`’在双引号中继续保留其特殊含义。当shell处于POSIX模式时即使启用了历史扩展,双引号中的“!”也没有特殊含义。”\”只有在后面跟以下字符(“$”、“`”、“\”或换行符)之一时,反斜杠才保留其特殊含义。“*”和“@”在双引号中具有特殊含义
|