wiki.bash-hackers.org/syntax/ccmd/grouping_subshell.md
2023-04-15 23:23:49 +12:00

897 B

====== Grouping commands in a subshell ======

===== Synopsis ===== <code> ( <LIST> ) </code>

===== Description ===== The list ''<LIST>'' is executed in a separate shell - a subprocess. No changes to the environment (variables etc...) are reflected in the "main shell".

===== Examples =====

Execute a command in a different directory. <code bash> echo "$PWD" ( cd /usr; echo "$PWD" ) echo "$PWD" # Still in the original directory. </code>

===== Portability considerations =====

  • The subshell compound command is specified by POSIX.
  • Avoid ambiguous syntax. <code bash> (((1+1))) # Equivalent to: (( (1+1) )) </code>

===== See also =====