====== Grouping commands in a subshell ====== ===== Synopsis ===== ( ) ===== Description ===== The [[syntax:basicgrammar#lists|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. echo "$PWD" ( cd /usr; echo "$PWD" ) echo "$PWD" # Still in the original directory. ===== Portability considerations ===== * The subshell compound command is specified by POSIX. * Avoid ambiguous syntax. (((1+1))) # Equivalent to: (( (1+1) )) ===== See also ===== * [[syntax:ccmd:grouping_plain | grouping commands]] * [[http://mywiki.wooledge.org/SubShell | Subshells on Greycat's wiki]]