Je zou de Linux-shell elke dag kunnen gebruiken, maar hoe je hem gebruikt, bepaalt veel over zijn gedrag. Je hebt misschien wel eens gehoord van het verschil tussen een login-shell en een non-login-shell. En hoewel het in eerste instantie misschien niet zo voor de hand liggend is, zijn er verschillende verschillen tussen de twee schaaltypes.

Hier is alles wat u moet weten over login-shells op Linux.

Wat is een login-shell?

Een login-shell is precies dat: een shell die wordt gestart wanneer u rechtstreeks inlogt op de Linux-machine. Wanneer u zich aanmeldt bij uw systeem vanuit een virtuele console of via SSH, de shell die wordt gestart is een login-shell.

Als u daarentegen een terminalvenster opstart, is die shell-sessie meestal geen login-shell. Hetzelfde geldt wanneer u een subshell start door de naam van de shell op de opdrachtregel te typen. Deze shell is slechts een interactieve shell.

Het belangrijkste verschil tussen de twee zit in het gedrag van de schaal. De shell leest vaak alleen bepaalde bestanden bij het opstarten. Bash zal de lezen

instagram viewer
/etc/profile, dan de .bash_profile, .bash_login, en .profielbestanden alleen in uw homedirectory als deze wordt aangeroepen als een login-shell.

Hoe weet u of u een login-shell gebruikt?

Het is gemakkelijk om te zien of u een login-shell gebruikt of niet. Als u uw shell hebt gestart vanuit de desktopterminaltoepassing, is dit waarschijnlijk niet het geval, tenzij u zich in een andere terminalomgeving bevindt, zoals WSL of de macOS-terminal.

Met dit commando kun je controleren of je een login-shell draait;

echo$0

Als u een login-shell gebruikt, ziet u de naam van de shell voorafgegaan door een koppelteken (-). Zo niet, dan zie je alleen de naam van de shell.

Uw login-shell instellen op Linux

Gebruik. om uw login-shell in te stellen het chsh-commando. U kunt uw login-shell instellen op het absolute pad van elke shell die wordt vermeld in /etc/shells.

Om een ​​shell als login-shell te starten, kunt u meestal een opdrachtregeloptie gebruiken. Om Bash bijvoorbeeld te starten als een login-shell:

bash --Log in

Als je een Linux-desktop gebruikt, kun je vaak specificeren welke opdracht wordt uitgevoerd wanneer je een terminalvenster opent. Als u wilt dat uw shell als een login-shell werkt, kunt u die optie daar plaatsen.

Nu weet u over aanmeldingsshells

U zou nu moeten begrijpen wat login-shells zijn. Het starten van uw shell, rechtstreeks vanaf de console of vanuit een terminalvenster, zal bepalen hoe het zich zal gedragen.

Als Linux nieuw voor je is, vraag je je misschien af ​​welke shell het beste is. Je kunt bij de standaard Bash blijven, of je kunt de speciale functies verkennen die worden aangeboden door alternatieve shells zoals Fish of Zsh.