In welcher Linux-/Unix-Shell bin ich gelandet?
Mir ist diese Fragestellung vor kurzem selbst an einer AIX-Maschine passiert.
- In welcher Linux-/Unix-Shell bin ich gelandet?
- Welche Unix-Shell läuft auf der Maschine?
Wer sich dies auch schon einmal gefragt hat, für den habe ich heute einen kleinen Tipp gefunden:
Mittels Eintippen am Shell-Prompt:
$ echo $SHELL
/bin/bash
bekommt man die zweite Zeile präsentiert, welche Auskunft gibt, welche Shell aktiv ist.
Die $SHELL-Variable wird automatisch beim Öffnen der Kommandozeile gesetzt und liefert den kompletten Pfad zur Shell an der wir angemeldet sind zurück.
Übliche Werte sind zum Beispiel:
- /bin/sh – Bourne shell
- /bin/bash – Bourne Again shell
- /bin/csh – C shell
- /bin/ksh – Korn shell
- /bin/tcsh – TC shell
- /bin/zsh – Z shell
gefunden bei Life After Coffee
Näheres zu meiner Person findet Ihr unter
Nicht wirklich. Die Variable SHELL wird auf die Loginshell gesetzt, was nicht zwingend die Shell ist in der du arbeitest. Hierzu folgendes Beispiel:
> echo $SHELL
/bin/bash
> zsh
> echo $SHELL
/bin/bash
also nix zsh! :)
Ich suche noch einen eleganten Weg die aktive Shell anzeigen zu lassen.
Aktuell kenne ich folgende Wege:
> ps -ef|grep sh
ODER
> for S in $(grep “^/bin/” /etc/shells)
> do
> lsof $S 2>/dev/null
> done
ODER
> pstree|grep -B1 pstree
Leider erfordern alle Wege noch manuelles Nacharbeiten und Nachdenken.
Wer will das schon. ;-)
Danke für deinen Hinweis und die Klarstellung.
Solche Kommentare wie deinen wünscht man sich gerne ;-)