Shell 脚本中引号与命令替换的使用技巧
1. 引号的使用
1.1 赋值时引号的必要性
当给 shell 变量赋值包含空格或特殊字符的值时,需要使用引号。例如:
$ message='I must say, this sure is fun'
$ echo $message
I must say, this sure is fun
$ text='* means all files in the directory'
$ echo $text
names nu numbers phonebook stat means all files in the directory
给变量 message 和 text 赋值时使用引号是因为它们包含了嵌入的空格。在上述例子中,要注意 shell 在进行变量名替换后还会进行文件名替换,这意味着在执行 echo 之前, * 会被当前目录下所有文件的名称替换。不过,我们可以通过使用双引号来避免这种情况。
1.2 双引号的特性
双引号的作用与单引号类似,但限制相对较少。单引号会告诉 shell 忽略所有包含的字符,而双引号则表示忽略大部分字符。具体来说,双引号内不会忽略以下三个字符:
- 美元符号( $ )
- 反引号( ) - 反斜杠( `)
美元符号不被忽略意味着在双引号内 shell
超级会员免费看
订阅专栏 解锁全文
375

被折叠的 条评论
为什么被折叠?



