GNU/Linux >> Znalost Linux >  >> Linux

Na jakém Shellu běžím?

Když spustím echo $SHELL výstup říká /bin/tcsh což znamená, že používám tcsh shell.
Ale například když vydám následující příkaz

alias emacs 'emacs -nw' 

Zobrazuje se mi následující chyba:

bash: alias: emacs: not found
bash: alias: emacs -nw: not found

a když vydám alias emacs="emacs -nw" běží to dobře!

To je matoucí, protože používám tcsh ale příkazy jsou interpretovány pomocí bash .

Jaký by mohl být důvod?

Přijatá odpověď:

$SHELL není nutně váš aktuální shell, je to výchozí přihlašovací shell. Chcete-li zkontrolovat shell, který používáte, zkuste

ps $$

To by mělo fungovat na nejnovějších Unix/Linux s ps který podporuje syntaxi BSD. Jinak se jedná o přenosný (POSIX) způsob

ps -p $$

To by mělo vrátit něco takového, pokud používáte tcsh :

8773 pts/10   00:00:00 tcsh

Pokud chcete mít tcsh být váš výchozí shell, použijte chsh nastavit.


Linux
  1. Který Shell Interpreter spouští skript s No Shebang?

  2. Dokáže python zjistit, pod kterým OS běží?

  3. V jakém jazyce jsou psány příkazy shellu?

  1. Určete, který host běží na XEN:HVM nebo PV host

  2. Určete, ve které skupině (skupinách) je běžící proces?

  3. Který operační systém běží v mém kontejneru Docker?

  1. Jak zkontrolovat, která verze Postgresu je spuštěná/nainstalovaná

  2. Který shell používám?

  3. Linux – Jak zjistit, která Linuxová distribuce běží?