我々は持っている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
あなたの基準に合わないのですか?