Kami memiliki env (1) untuk memodifikasi lingkungan perintah yang ingin kami jalankan (misalnya env MANPAGER=more man dtrace). Apakah ada sesuatu yang serupa tetapi untuk memodifikasi direktori bahwa perintah akan dimulai?
Idealnya, saya ingin terlihat seperti ini:
theMagicCommand /new/cwd myProgram
Dengan cara ini bisa "dirantai" dengan perintah env (1) lainnya, misalnya,
daemon -p /tmp/pid env VAR=value theMagicCommand /new/cwd myProgram
Sejauh ini saya dapat memikirkan solusi berikut, yang sayangnya tidak memiliki antarmuka yang sama dengan env (1):
cd /new/cwd && myProgram
Saya juga bisa membuat skrip shell sederhana seperti ini:
#! /bin/sh -
cd "${1:?Missing the new working directory}" || exit 1
shift
exec "${@:?Missing the command to run}"
tapi saya mencari sesuatu yang sudah ada (setidaknya di macOS dan FreeBSD).
myProgrambelum tentu aplikasi desktop (dalam hal ini saya bisa menggunakan kunci Path dalam file .desktop ).
env. Lihatlah env. Bandingkan dengan rtprio, idprio, numactl, jexec, chrt, dan memang perintah dalam toolsets disebutkan dalam jawaban. Ada sebuah pola, dan itu adalah pemuatan rantai.
(cd the/cwd; cmd)?
(cd the/cwd; cmd)ke env (1) tanpa membungkusnya dengan sh (1).
cd /new/cwd && env VAR=value myProgramtidak memenuhi kriteria Anda?