LinuxShell单引号、双引号、反引号以及无引号的区别
1. 单引号
单引号为强引用,即将单引号中的内容原样输出,而不会对任何变量函数进行解析。比如在 Shell 中输入以下代码:
1 | _str_="hello world" |
结果输出:
1 | $_str_ |
2. 双引号
在双引号内,会解析的符号:` $ \
除此之外,其余符号都原样输出。比如在 Shell 中输入以下代码:
1 | _str_="hello world" |
结果输出:
1 | hello world |
3. 反引号
反引号和 $()
的功能一样,都是进行命令替换,将反引号或 $()
中的字符串做为命令来执行。比如在 Shell 中输入以下代码:
1 | _str_="hello world" |
结果输出:
1 | Command 'hello' not found, but can be installed with: |
这是因为反引号将变量 $_str_
当作命令来处理了。
4. 无引号
同双引号,只是在对变量进行赋值、引用时,如果含有特殊字符(比如空格),则需要在特殊字符前添加转义字符 \
。
比如在Shell中输入以下代码:
1 | _str_=hello world |
结果输出:
1 | Command 'world' not found, did you mean: |
因为含有特殊字符空格,故只将 hello
赋值给了 _str_
,而将 world
当成了命令进行处理。如果在 Shell 中输入以下代码:
1 | _str_=hello\ world |
结果输出:
1 | hello world |
因加上了转义字符,故为正确赋值。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 お前はどこまで見えている!
评论
WalineTwikoo