Bash 高级特性与技巧深度解析
分组命令与子shell
Bash 允许将命令分组,有两种方式可以实现:分组命令和子 shell。下面是它们的语法示例:
- 分组命令 :
{ command1; command2; [command3; ...] }
- 子 shell :
(command1; command2; [command3;...])
两者的区别在于,分组命令使用花括号 {} 包围命令,而子 shell 使用圆括号 () 。需要注意的是,由于 Bash 实现分组命令的方式,花括号必须与命令之间有一个空格分隔,并且最后一个命令在关闭花括号之前必须以分号或换行符结束。
分组命令和子 shell 主要用于管理重定向。例如,有如下脚本片段对多个命令进行重定向:
ls -l > output.txt
echo "Listing of foo.txt" >> output.txt
cat foo.txt >> output.txt
使用分组命令可以这样编写:
{ ls -l; echo
超级会员免费看
订阅专栏 解锁全文
585

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



