( ) で囲めば、サブシェル内での実行になるから、カレントシェルには影響しない

(cd /tmp; pwd)
サブシェル実行後、カレントディレクトリは元のまま

(p="tmp"; echo $p)