Potresti usare la shell Linux ogni giorno, ma il modo in cui la usi determina molto sul suo comportamento. Potresti aver sentito parlare della differenza tra una shell di accesso e una shell non di accesso. E anche se all'inizio potrebbe non sembrare ovvio, ci sono diverse differenze tra i due tipi di shell.
Ecco tutto ciò che devi sapere sulle shell di accesso su Linux.
Che cos'è una shell di accesso?
Una shell di login è esattamente questo: una shell che si avvia quando accedi direttamente alla macchina Linux. Quando accedi al tuo sistema da a console virtuale o su SSH, la shell che si avvia è una shell di login.
Al contrario, se si avvia una finestra di terminale, quella sessione di shell in genere non è una shell di accesso. Lo stesso vale quando avvii una subshell digitando il nome della shell nella riga di comando. Questa shell è solo una shell interattiva.
La differenza fondamentale tra i due sta nel comportamento della shell. La shell leggerà spesso solo determinati file all'avvio. Bash leggerà il
/etc/profile, poi il .bash_profilo, .bash_login, e .file di profilo nella tua home directory solo se viene invocata come shell di login.Come sapere se stai utilizzando una shell di accesso
È facile vedere se stai eseguendo una shell di accesso o meno. Se hai avviato la tua shell dall'applicazione del terminale desktop, molto probabilmente non lo sei, a meno che tu non sia in un altro ambiente terminale come WSL o il terminale macOS.
Puoi controllare se stai eseguendo una shell di accesso con questo comando;
eco$0
Se stai usando una shell di login, vedrai il nome della shell preceduto da un trattino (-). In caso contrario, vedrai solo il nome della shell.
Impostazione della shell di accesso su Linux
Per impostare la tua shell di accesso, usa il comando chsh. Puoi impostare la tua shell di accesso sul percorso assoluto di qualsiasi shell elencata /etc/shells.
Per avviare qualsiasi shell come shell di accesso, di solito puoi utilizzare un'opzione della riga di comando. Ad esempio, per avviare Bash come shell di accesso:
bash --Accedere
Se stai usando un desktop Linux, puoi spesso specificare quale comando viene eseguito quando apri una finestra di terminale. Se vuoi che la tua shell venga eseguita come shell di accesso, puoi inserire quell'opzione lì.
Ora conosci le shell di accesso
Ora dovresti capire cosa sono le shell di accesso. L'avvio della shell, direttamente dalla console o da una finestra del terminale, determinerà come si comporterà.
Se non conosci Linux, potresti chiederti quale shell sia la migliore. Puoi rimanere con il Bash predefinito oppure puoi esplorare le funzionalità speciali offerte da conchiglie alternative come Fish o Zsh.