2013-12-10 31 views
7
ben başkası tarafından yazılmış bir senaryo, test.sh, kullanmak

, bir bash shebang ile başlar :Bash shebang seçeneği -l

  • Ben TEST=hey ./test.sh çalıştırırsanız, bu 01 I eğer aynıdır TEST: hop, hop benim .bash_profile
  • değişken TEST değeri olan görebilirsinizsenaryoyu
  • çalışan ama daha önce ben -l bayrak Birinin bu davranışı lütfen açıklayabilir

umuyordum, aynı komut döner TEST: hey, kaldırırsanız? Bash'ın yardımı ... yardım etmedi.

cevap

15

-l seçeneği (man page'a göre) "bash, oturum açma kabuğu olarak çağrılmış gibi davranır" yapar. Giriş kabukları, .bash_profile gibi giriş dizininizden belirli başlatma dosyalarını okur. TEST değerini .bash_profile öğenize ayarladığınızdan, komut satırında ayarladığınız değer bash başlatıldığında geçersiz olur.

+0

Pekala, teşekkürler! – Emmanuel