S-ar putea să utilizați shell-ul Linux în fiecare zi, dar modul în care îl utilizați determină foarte mult comportamentul său. S-ar putea să fi auzit despre diferența dintre un shell de conectare și un shell non-login. Și, deși poate să nu fie la fel de evident la început, există mai multe diferențe între cele două tipuri de coajă.

Iată tot ce trebuie să știți despre shell-urile de conectare pe Linux.

Ce este un Shell de autentificare?

Un shell de autentificare este exact asta: un shell care se lansează atunci când vă conectați direct la mașina Linux. Când vă conectați la sistemul dvs. de la un consola virtuală sau prin SSH, shell-ul care pornește este un shell de conectare.

În schimb, dacă porniți o fereastră de terminal, acea sesiune shell nu este de obicei un shell de conectare. Același lucru este valabil și atunci când lansați un subshell tastând numele shell-ului la linia de comandă. Acest shell este doar un shell interactiv.

Diferența cheie între cele două este în comportamentul carcasei. Shell-ul va citi adesea doar anumite fișiere la pornire. Bash va citi

instagram viewer
/etc/profile, apoi .bash_profile, .bash_login, și .fișiere de profil în directorul dvs. de acasă numai dacă este invocat ca shell de conectare.

Cum să vă dați seama dacă utilizați un Shell de autentificare

Este ușor să vezi dacă rulezi un shell de conectare sau nu. Dacă v-ați lansat shell-ul din aplicația de terminal desktop, cel mai probabil nu sunteți, cu excepția cazului în care vă aflați într-un alt mediu de terminal precum WSL sau terminalul macOS.

Puteți verifica dacă rulați un shell de autentificare cu această comandă;

ecou$0

Dacă utilizați un shell de conectare, veți vedea numele shell-ului precedat de o cratimă (-). Dacă nu, veți vedea doar numele shell-ului.

Setarea Shell de conectare pe Linux

Pentru a vă configura shell-ul de conectare, utilizați comanda chsh. Puteți seta shell-ul de conectare la calea absolută a oricărui shell listat în /etc/shells.

Pentru a porni orice shell ca shell de conectare, puteți utiliza de obicei o opțiune de linie de comandă. De exemplu, pentru a porni Bash ca shell de conectare:

bash --Autentificare

Dacă utilizați un desktop Linux, puteți specifica adesea ce comandă este executată atunci când deschideți o fereastră de terminal. Dacă doriți ca shell-ul dvs. să ruleze ca un shell de conectare, puteți pune acea opțiune acolo.

Acum știți despre shell-urile de conectare

Acum ar trebui să înțelegeți ce sunt shell-urile de conectare. Lansarea shell-ului, fie direct de pe consolă, fie dintr-o fereastră de terminal, va determina cum se va comporta.

Dacă sunteți nou în Linux, s-ar putea să vă întrebați care shell este cel mai bun. Puteți rămâne cu Bash implicit sau puteți explora caracteristicile speciale oferite de shell-uri alternative precum Fish sau Zsh.