Unterschied zwischen $0 und $SHELL
Ich würde gerne wissen, den genauen Unterschied zwischen $0 und $SHELL. Ich weiß, dass diese zwei verwendet werden, um zu wissen, die shell-info.
Es wäre toll, wenn jemand erklären mit Beispielen.
Was bedeutet es geben, wenn beide zeigen unterschiedliche Werte, wie unten ?
# echo $0
ksh
# echo $SHELL
/sbin/sh
#
- Beachten Sie, dass shell-Variablen (und so ziemlich alles andere) sind case-Sensitiv in unix.
Du musst angemeldet sein, um einen Kommentar abzugeben.
SHELL ist nur eine Umgebungsvariable, während $0 ist der Pfad des aktuell Laufenden Programms. SHELL auf den Wert der Schale, den Sie verwenden möchten als Standard, ähnlich wie PAGER und EDITOR. Jedes Programm braucht, um zu laichen eine shell für Sie zu verwenden Sie sollten überprüfen, der Wert von SHELL um zu bestimmen, welche shell aufzurufen ist. SHELL ist nicht the path of the shell, die Sie bekommen, wenn Sie sich einloggen. Es wird sich nicht ändern, wenn man sich auf eine neue Schale nicht mehr als PAGER wird sich ändern, wenn es gesetzt ist
less
aber Sie wählen zum aufrufenmore
. Zum Beispiel:$SHELL gibt den vollständigen Pfad zu Ihrer Standard shell.
$0 gibt den Namen Ihres aktuellen shell.