Bash
Typ av skal
Sök…
Anmärkningar
Logga in Shell
Ett inloggningsskal är ett vars första tecken för argument noll är ett -, eller ett startat med alternativet –login. Initieringen är mer omfattande än i ett normalt interaktivt (sub) skal.
Interaktivt skal
Ett interaktivt skal är ett startat utan argument utan alternativ och utan alternativet -c vars standardinmatning och fel båda är anslutna till terminaler (som bestäms av isatty (3)), eller ett startat med alternativet -i. PS1 är inställt och $ - inkluderar i om bash är interaktivt, vilket gör att ett skalskript eller en startfil kan testa detta tillstånd.
icke-interaktiv Shell
Ett icke-interaktivt skal är ett skal där användaren inte kan interagera med skalet. Som ett exempel är ett skal som kör ett skript alltid ett icke-interaktivt skal. Samtidigt kan skriptet fortfarande komma åt dess tty.
Konfigurera ett inloggningsskal
När du loggar in:
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.
För icke-inloggade interaktiva skal
När du startar:
If `~/.bashrc' exists, then source it.
För icke-interaktiva skal
Vid uppstart: Om miljövariabeln ENV är icke-noll, expanderar du variabeln och källs till filen med värdet. Om Bash inte startas i Posix-läge letar det efter BASH_ENV före ENV.
Introduktion till prickfiler
I Unix innehåller filer och kataloger som börjar med en period vanligtvis inställningar för ett specifikt program / en serie program. Prickfiler är vanligtvis dolda för användaren, så du måste köra ls -a
att se dem.
Ett exempel på en .bash_history
är .bash_history
, som innehåller de senaste exekverade kommandona, förutsatt att användaren använder Bash.
Det finns olika filer som kommer från när du släpps i Bash-skalet. Bilden nedan, hämtad från den här webbplatsen , visar beslutsprocessen bakom att välja vilka filer som ska källas vid start.
Starta ett interaktivt skal
bash
Upptäck typ av skal
shopt -q login_shell && echo 'login' || echo 'not-login'