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).
myProgram
belum 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 myProgram
tidak memenuhi kriteria Anda?