Qual è la differenza tra un 'Login' e un bash shell 'Interactive'? Ho citato Wikipedia di seguito, ma qualcuno può dare una risposta migliore?
EDIT: Questa è una wiki della comunità, quindi forse piuttosto che votare per chiudere potresti fornire esempi di quali situazioni richiedono quale tipo di $ SHELL
Script di avvio
All'avvio di Bash, esegue i comandi in una varietà di script diversi.
Quando Bash viene invocato come shell di login interattiva, legge innanzitutto ed esegue i comandi dal file / etc / profile, se quel file esiste. Dopo aver letto quel file, cerca ~ / .bash_profile, ~ / .bash_login e ~ / .profile, in quell'ordine, e legge ed esegue i comandi dal primo che esiste ed è leggibile.
Quando esce una shell di login, Bash legge ed esegue i comandi dal file ~ / .bash_logout, se esiste.
Quando viene avviata una shell interattiva che non è una shell di accesso, Bash legge ed esegue i comandi da ~ / .bashrc, se quel file esiste. Questo può essere inibito usando l'opzione --norc. L'opzione --rcfile forzerà Bash a leggere ed eseguire i comandi dal file invece di ~ / .bashrc.