Mungkin itu terasa aneh bagi Anda, tetapi saya ingin menjalankan perintah di folder tertentu tanpa mengubah folder saat ini di shell. Contoh - inilah yang biasanya saya lakukan:
~$ cd .folder
~/.folder$ command --key
~/.folder$ cd ..
~$ another_command --key
Meskipun saya menginginkan sesuatu seperti ini:
~$ .folder command --key
~$ another_command --key
Apa itu mungkin?
bash
command-line
scripts
Timur Fayzrakhmanov
sumber
sumber
~/.folder/command --key
? Apakahcommand
memerlukan direktori Anda saat ini~/.folder
?Jawaban:
Jika Anda ingin menghindari yang kedua
cd
dapat Anda gunakansumber
;
untuk&&
untuk mengukur baik. Jika cd gagal (mis. Karena Anda salah ketik nama direktori), Anda mungkin tidak ingin menjalankan perintah.Tanpa
cd
... Tidak sekali pun. Saya menemukan dua cara:dan kedua:
sumber
Fungsi bash sederhana untuk menjalankan perintah di direktori tertentu:
Pemakaian:
sumber
Saya perlu melakukan ini dengan cara bash-free, dan terkejut tidak ada utilitas (mirip dengan
env(1)
atausudo(1)
yang menjalankan perintah dalam direktori kerja yang dimodifikasi. Jadi, saya menulis program C sederhana yang melakukannya:Penggunaannya seperti ini:
sumber