1. ホーム
  2. バッシュ

[解決済み】bashで一時的に現在の作業ディレクトリを変更してコマンドを実行する【重複あり

2022-04-08 01:35:39

質問

を使うことができるのは知っています。 cd コマンドでbashの作業ディレクトリを変更することができます。

しかし、このコマンドを実行すると

cd SOME_PATH && run_some_command

そうすると、作業ディレクトリが恒久的に変更されます。このように一時的に作業ディレクトリを変更する方法はないでしょうか?

PWD=SOME_PATH run_some_command

解決方法は?

を実行することができます。 cd と実行ファイルをサブシェルに含めるには、コマンドラインを括弧で囲みます。

(cd SOME_PATH && exec_some_command)

デモの様子

$ pwd
/home/abhijit
$ (cd /tmp && pwd)  # directory changed in the subshell
/tmp 
$ pwd               # parent shell's pwd is still the same
/home/abhijit