我々は持っているENV(1)私たちは(例えば実行するコマンドの環境を変更することをenv MANPAGER=more man dtrace)。同様のものがありますが、コマンドを開始するディレクトリを変更しますか?
理想的には、次のようになります。
theMagicCommand /new/cwd myProgramこのように、他のenv(1)のようなコマンドで「連鎖」させることができます。たとえば、
daemon -p /tmp/pid env VAR=value theMagicCommand /new/cwd myProgramこれまでのところ、残念ながらenv(1)と同じインターフェースを持たない次のソリューションを考えることができます。
cd /new/cwd && myProgramまた、次のような単純なシェルスクリプトを作成することもできます。
#! /bin/sh -
cd "${1:?Missing the new working directory}" || exit 1
shift
exec "${@:?Missing the command to run}"しかし、私はすでに存在するものを探しています(少なくともmacOSとFreeBSDで)。
myProgram必ずしもデスクトップアプリケーションではありません(この場合、.desktopファイルでPathキーを使用できます)。
env。見てくださいenv。比較しrtprio、idprio、numactl、jexec、chrt、との回答で述べたツールセットで実際にコマンド。パターンがあり、それはチェーンローディングです。
                (cd the/cwd; cmd)ですか?
                (cd the/cwd; cmd)、sh(1)でラップしない限り、env(1)に簡単に渡すことはできません。
                
cd /new/cwd && env VAR=value myProgramあなたの基準に合わないのですか?