Bir OS X zaman darbe kabuk incelersek gibi yazma ile olduğu gibi (10.6.4) terminali, echo $0bu gibi kabuğumun önünde bir çizgi, mevcuttur: -bash. Bu çizgi ne anlama geliyor?
Bir OS X zaman darbe kabuk incelersek gibi yazma ile olduğu gibi (10.6.4) terminali, echo $0bu gibi kabuğumun önünde bir çizgi, mevcuttur: -bash. Bu çizgi ne anlama geliyor?
Yanıtlar:
Bu bash, bir giriş kabuğu olarak çağrıldığı anlamına gelir .
man bash diyor:
Bir giriş kabuğu, sıfır argümanının ilk karakteri a
-olan veya--loginseçenekle başlayan bir kabuktur .Bash, etkileşimli bir giriş kabuğu veya
--loginseçenekle etkileşimli olmayan bir kabuk olarak çağrıldığında/etc/profile, bu dosya varsa önce dosyadan komutları okur ve yürütür . Bu dosyayı okuduktan sonra, arar~/.bash_profile,~/.bash_loginve~/.profile, bu sırayla ve okur ve var ve okunabilir olanlarını gelen yürütür komutları. Bu--noprofileseçenek, kabuk bu davranışı engellemek için başlatıldığında kullanılabilir.Bir oturum açma kabuğu çıktığında, bash dosyadan komutları okur ve yürütür
~/.bash_logout.
Sen bulacaksınız login -pfsizin de psvarsayılan olarak bir giriş kabuğu başlar çıktı.
Koşmayı deneyin login -pfve login -pflfarkı görün. man loginfarkı tanımlar:
-lLogin tarafından yürütülen programa, bunun bir oturum açma oturumu olmadığını söyler (kural olarak, ilk oturum karakteri olarak programa tire ile bir oturum açma sinyali verilirargv[0]; bu seçenek bunu devre dışı bırakır) vechdir(2)kullanıcının ana dizinine girmesini engeller . Varsayılan, kısa çizgi eklemektir (bu bir oturum oturumudur).
echo $0: echo $0tarafından çağrılan terminalde yazarsanız ctrl + alt + f1, sonuç -bash; ama ben tarafından çağrılan termianl yazarsanız ctrl + alt + t, sonuç bash(önde gelen çizgi yok). Nedenini açıklayabilir misiniz?
--loginargümanla başlatıldığında , onun değişmez argv[0], ancak bir giriş kabuğu gibi davranır.
manalıntılar için teşekkürler