Bash
Tipo di conchiglie
Ricerca…
Osservazioni
Shell di accesso
Una shell di login è una shell il cui primo carattere dell'argomento zero è un - o uno iniziato con l'opzione -login. L'inizializzazione è più completa rispetto a una normale shell (secondaria) interattiva.
Shell interattiva
Una shell interattiva è quella avviata senza argomenti non-option e senza l'opzione -c il cui input e errore standard sono entrambi connessi ai terminali (come determinato da isatty (3)), o uno iniziato con l'opzione -i. PS1 è impostato e $ - include i se bash è interattivo, consentendo uno script di shell o un file di avvio per testare questo stato.
Shell non interattiva
Una shell non interattiva è una shell in cui l'utente non può interagire con la shell. Come esempio, una shell che esegue uno script è sempre una shell non interattiva. Tuttavia, lo script può ancora accedere alla sua tty.
Configurazione di una shell di login
Al momento dell'accesso:
If '/etc/profile' exists, then source it.
If '~/.bash_profile' exists, then source it,
else if '~/.bash_login' exists, then source it,
else if '~/.profile' exists, then source it.
Per shell interattive non di accesso
All'avvio:
If `~/.bashrc' exists, then source it.
Per shell non interattive
All'avvio: se la variabile di ambiente ENV non è nulla, espandere la variabile e generare il file indicato dal valore. Se Bash non viene avviato in modalità Posix, cerca BASH_ENV prima di ENV.
Introduzione ai file di punti
In Unix, i file e le directory che iniziano con un punto di solito contengono impostazioni per un programma specifico / una serie di programmi. I file Dot di solito sono nascosti all'utente, quindi è necessario eseguire ls -a
per vederli.
Un esempio di un file punto è .bash_history
, che contiene gli ultimi comandi eseguiti, supponendo che l'utente stia usando Bash.
Ci sono vari file che vengono originati quando si rilascia la shell di Bash. L'immagine qui sotto, presa da questo sito , mostra il processo decisionale dietro la scelta dei file da cercare all'avvio.
Inizia una shell interattiva
bash
Rileva il tipo di shell
shopt -q login_shell && echo 'login' || echo 'not-login'