在bash,两者()并$()创建一个子shell.
彼此之间有什么区别?他们的典型用法是什么?
Car*_*rum 20
()只需创建一个复合命令,在括号内运行命令. $()做同样的事情,但也替代输出.
来自文档:
(list)
list在子shell环境中执行...影响shell环境的变量赋值和内置命令在命令完成后不会保持有效.返回状态是退出状态list.
命令替换
命令替换允许输出命令来替换命令名称.有两种形式:
$(command)
Run Code Online (Sandbox Code Playgroud)
要么
`command`
Run Code Online (Sandbox Code Playgroud)
Bash通过command使用命令的标准输出执行和替换命令替换来执行扩展,删除任何尾随换行符.