GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Auf welcher Shell laufe ich?

Wenn ich echo $SHELL ausführe die Ausgabe lautet /bin/tcsh was bedeutet, dass ich einen tcsh ausführe Shell.
Aber zum Beispiel, wenn ich den folgenden Befehl ausführe

alias emacs 'emacs -nw' 

Ich erhalte die folgende Fehlermeldung:

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

und wenn ich alias emacs="emacs -nw" ausgebe es läuft gut!

Das ist verwirrend, da ich tcsh ausführe aber die Befehle werden von bash interpretiert .

Was könnte der Grund sein?

Akzeptierte Antwort:

$SHELL ist nicht unbedingt Ihre aktuelle Shell, sondern die standardmäßige Login-Shell. Um die von Ihnen verwendete Shell zu überprüfen, versuchen Sie

ps $$

Dies sollte auf den neuesten Unix/Linux mit einem ps funktionieren das die BSD-Syntax unterstützt. Ansonsten ist dies der portable (POSIX) Weg

ps -p $$

Das sollte so etwas zurückgeben, wenn Sie tcsh ausführen :

8773 pts/10   00:00:00 tcsh

Wenn Sie tcsh haben möchten Ihre Standard-Shell sein, verwenden Sie chsh um es einzustellen.


Linux
  1. Welche Shell verwende ich?

  2. Welcher Shell-Interpreter führt ein Skript ohne Shebang aus?

  3. Linux – Wie erkennt man, welche Linux-Distribution läuft?

  4. Wie überprüfe ich, welche Shell ich verwende?

  5. Shell - Wie finde ich das Verzeichnis eines Befehls?

So überprüfen Sie, welche Version von Postgres ausgeführt/installiert wird

Welche Shell sollte ich verwenden – Tcsh Vs Bash?

Kann Python erkennen, unter welchem ​​Betriebssystem es läuft?

Ermitteln Sie, welcher Gast auf XEN ausgeführt wird:HVM- oder PV-Gast

Identifizieren, welcher MTA ausgeführt wird

Welches Betriebssystem läuft in meinem Docker-Container?