Mulai bash shell (cygwin) dengan jalur yang benar tanpa mengubah direktori


13

Saya perlu menjalankan skrip shell cygwin tanpa mengubah direktori kerja, dari luar lingkungan cygwin.

Jika saya jalankan saja \path\to\bash.exe -c command, maka path tidak diatur dengan benar dan program cygwin tidak dapat ditemukan.

Jika saya menggunakan --loginopsi, bashsetel path dengan benar, tetapi juga berubah ke direktori home saya.

Opsi apa yang harus saya gunakan untuk meluncurkan bash untuk menjaga direktori kerja saat ini, dan juga menemukan executable cygwin?


Hai, pertanyaan serupa sedang dibahas di StackOverflow: stackoverflow.com/questions/9637601/…
Roman Hocke

@ Roman: Ini benar-benar di luar topik di SO.
Ben Voigt

Jawaban:


18

Ternyata default cygwin /etc/profilememeriksa variabel lingkungan bernama CHERE_INVOKINGdan menghambat perubahan direktori jika ditetapkan.

Begitu

set CHERE_INVOKING=1
\path\to\bash.exe -l -c command

memiliki perilaku yang diinginkan.


Ini berfungsi untuk menjalankan bash MSYS2 juga.
tharen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.