İnteraktif kabuk ile ne demek istiyorsunuz?


25

UNIX: Komple Referans, İkinci Baskı, Kenneth H. Rosen ve ark.

Giriş yaptıktan sonra kabuk adını bir komut olarak kullanarak başka bir kabuk başlatabilirsiniz; örneğin, Korn kabuğunu başlatmak için komut istemine ksh yazabilirsiniz. Bu tür bir kabuk bir giriş kabuğu değildir ve kullanmak için tekrar oturum açmanıza gerek yoktur, ancak yine de etkileşimli bir kabuktur; bu, komutları yazarak kabukla etkileşime girdiğiniz anlamına gelir (kabuğu kullanmak yerine Bölüm 20'de tartışıldığı gibi bir komut dosyası çalıştırın. Grafik bir arayüz kullanırken bir terminal penceresinde çalışan kabuğun örnekleri de etkileşimli oturum açma kabukları değildir. Giriş yapmayan bir kabuk başlattığınızda, .profile, .bash_profile veya .login dosyanızı (veya .logout dosyanızı) okumaz, ancak yine de ikinci kabuk yapılandırma dosyasını (.bashrc gibi) okuyacaktır. Bu, değişikliklerinizi test edebileceğiniz anlamına gelir.

Yukarıdaki çizgilerin üzerinden geçiyordum ve etkileşimli kabuk ile ne anlama geldiğini anlamıyorum. Eğer terminal kullanıyorsam .profile dosyasının okunmadığı doğru mu?

Üstelik, burh'un etkileşimli bir kabuk olmadığını söylerken, bash / csh etkileşimli bir kabuk olduğunu söylerken ne anlama gelir?

Yanıtlar:


27

Etkileşimli bir kabuk, sadece komutları yazmak için kullandığınız ve bu komutların çıktısını geri almak için kullandığınız herhangi bir kabuk işlemidir. Yani, etkileşimde bulunduğunuz bir kabuk.

Bu nedenle, giriş kabuğunuz, sorunuza alıntı yaptığınız alıntıda açıklandığı gibi, elle başlattığınız diğer kabukları gibi etkileşimlidir. Buna karşılık, bir kabuk komut dosyasını çalıştırdığınızda, komut dosyasındaki komutları çalıştıran etkileşimli olmayan bir kabuk başlatılır ve ardından komut dosyası bittiğinde çıkar.

Bourne kabuğu, tıpkı bashya da olduğu gibi etkileşimli bir kabuk olarak kullanılabilir tcsh. Aslında, FreeBSD gibi birçok sistem shvarsayılan kullanıcı kabuğu olarak kullanılır. Modern kabukları gibi bash, zsh, tcshvb interaktif kullanım (komut geçmişi, tamamlama, vs) için daha konforlu ve rahat hale Bourne kabuğu yok birçok özellikleri vardır.

Etkileşimli oturum açma olmayan kabukları (başka bir kabuktan elle başlattığınız veya bir terminal penceresi açarak başlattığınız kabukları) dosyalarınızı .loginveya .profilekitaplarınızı okumaz . Bunlar yalnızca oturum açma kabukları tarafından okunur ve yürütülür ( loginsistem işlemi veya X ekran yöneticiniz tarafından başlatılan kabukları ), bu nedenle içerdikleri komutlar ve ayarlar giriş oturumunuzun başında yalnızca bir kez uygulanır. Eğer bir terminali, (sizin için yumurtlar giriş dosyaları okumaz O kabuğu başlattığınızda Yani, .loginc tarzı kabukları için, .profilebourne tarzı kabukları için), ancak okuma yapar .cshrc, .bashrcvb dosyaları.


Bir kabuğu etkileşimli olmayan bir giriş kabuğu olarak çalıştırmak mümkündür.
jw013

Doğru, ama potansiyel olarak kafa karıştırıcı!
D_Bye

Ksh aynı zamanda modern kabuk :-) See olan www2.research.att.com/sw/download ve sol kenar boşluğuna navigasyon için AST> ksh-> genel menüyü kullanabilirsiniz. David Korn ve Glen Fowler'dan yılda birkaç kez yeni bir sürüm çıkar. Hepinize iyi şanslar.
shellter

1
@shellter - evet, gerçekten. Ama şimdiye kadar kullandığım bir şey değildi ve bir yerdeki mermileri saymayı bırakmak zorunda kaldım! ;-)
D_Bye

The Bourne shell can be used as an interactive shell, just like bash or tcsh. Bourne kabuğu ile aynı olmadığını mı söyledin bash?
Bay Web
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.