it-swarm.dev

Co je výchozí prostředí pro terminál?

Řekněme, že jsem otevřel terminál a zadal/provedl několik příkazů Shell.

Ale nevyvolával jsem výslovně Bash nebo jiné Shell.

Co byla Shell použita ve výchozím nastavení?

57
DrStrangeLove

Ten, který je na řádku uveden v /etc/passwd (jedná se o : oddělená čára a Shell je poslední).

Například moje:

chris:x:1000:1000:Chris,,,:/home/chris:/bin/bash

Tady to je /bin/bash (výchozí Ubuntu)

Můžete také použít chsh:

$ chsh
Password: 
Changing the login Shell for chris
Enter the new value, or press ENTER for the default
        Login Shell [/bin/bash]:

To mi říká, že moje Shell je /bin/bash a nechal mě to změnit.

Konečně, echo $Shell udělá totéž:

$ echo $Shell
/bin/bash
57
Caesium

GNU Bash je prostředí používané ve výchozích nastavení v terminálech Ubuntu. Pokud jsou však spouštěny skripty při spouštění systému, použije se pomlčka, protože je to pomlčka, která je/bin/sh.

Toto je definováno v proměnné prostředí $ Shell. Můžete to zkontrolovat zadáním echo $Shell v terminálu.

17
Anonymous

zadáním následujícího zobrazíte, co Shell terminál otevřel:

echo $Shell

Chcete-li však zjistit, v jakém typu Shell se právě nacházíte (možná jste jej změnili), zadejte

ps -p $$

např. uvidíte, že Shell je bash v příkladu výstupu

  PID TTY          TIME CMD
 3500 pts/0    00:00:01 bash

Další metodou je použití

echo $0

toto jednoduše vrátí název aktuálního Shell.

15
fossfreedom

Ve výchozím nastavení je to bash:

env | grep ^Shell=

Ve většině případů bude produkovat

Shell=/bin/bash
3
wojox

K získání cesty k souboru aktuálního spustitelného prostředí Shell lze použít

readlink -f /proc/$$/exe

Některé možné výstupy jsou:

  • /bin/bash
  • /usr/bin/bash
  • /usr/bin/zsh
  • /home/stan/.linuxbrew/Cellar/zsh/5.2/bin/zsh
2
Victor Yarema