Dizin değiştirmeden bash kabuğunu (cygwin) doğru yolla başlatın


13

Cygwin ortamının dışından çalışma dizinini değiştirmeden bir cygwin kabuk komut dosyası çalıştırmam gerekiyor.

Sadece çalışırsam \path\to\bash.exe -c command, yol doğru ayarlanmaz ve cygwin programları bulunamaz.

--loginSeçeneği kullanırsam bashyolu doğru ayarlar, ancak ana dizinime de geçer.

Geçerli çalışma dizinini korumak ve ayrıca cygwin yürütülebilir dosyalarını bulmak için bash'ı başlatmak için hangi seçenekleri kullanmalıyım?


Merhaba, benzer soru StackOverflow'da tartışılıyor: stackoverflow.com/questions/9637601/…
Roman Hocke

@Roman: Bu tamamen SO'nun konusu değil.
Ben Voigt

Yanıtlar:


18

Cygwin varsayılanının /etc/profileadlandırılmış bir ortam değişkenini kontrol ettiği CHERE_INVOKINGve ayarlanmışsa dizin değişikliğini engellediği ortaya çıkıyor.

Yani

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

istenen davranışa sahiptir.


Bu MSYS2 bash'ı çağırmak için de çalışır.
tharen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.