bash中一串命令的执行()与{}

bash中一串命令执行用()和{}区别

  • ()只是对一串命令重新开一个子shell进行执行
  • {}对一串命令在当前shell执行
  • ()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开
  • ()最后一个命令可以不用分号
  • {}最后一个命令要用分号
  • {}的第一个命令和左括号之间必须要有一个空格
  • ()里的各命令不必和括号有空格
  • ()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令

References:
[1]shell中的(),{}几种语法用法