tcsh ausführen, aber stattdessen bash gestartet

3107

Ich habe versucht, eine tcsh auf meiner Fedora 7 zu starten (Standardshell ist bash)

[ss@ssvm ~]$ tcsh [ss@ssvm ~]$ echo $SHELL /bin/bash 

Wie Sie sehen, begann eine weitere Bash-Shell.

Ich habe mir die Tcsh-Datei angesehen:

[ss@ssvm ~]$ ll /bin/tcsh -rwxr-xr-x 1 root root 345348 2007-02-26 23:58 /bin/tcsh [ss@ssvm ~]$ ll /bin/csh lrwxrwxrwx 1 root root 4 2010-03-07 13:13 /bin/csh -> tcsh 

Es ist kein Link (aber Csh ist). Ich verstehe nicht, warum das so ist. Bitte lassen Sie mich wissen, wenn Sie Ideen haben oder weitere Informationen benötigen. Vielen Dank!

XM

1
tsh läuft nicht, weil es erkennt, wie großartig bash ist und versucht, seine Schande zu verbergen. Kristina Brooks vor 14 Jahren 0
Dann vergaß es, seine Binärdatei in einen Link zu bash zu ändern, damit es nicht mehr stört ... vor 14 Jahren 0

3 Antworten auf die Frage

5
Jeffrey Hantin

Kurze Antwort: Die SHELLUmgebungsvariable stellt die Standard-Shell für Ihr Benutzerprofil dar, nicht die Shell, mit der Sie gerade sprechen. Es wird von Programmen verwendet, die Subshells erzeugen.

Alternativ können Sie auch .cshrcnach einem exec bashBefehl suchen. Ich habe das an einer Site gemacht, wo Benutzer ihre Standardshell nicht von csh ändern durften.

Danke, Jeffrey. Ich habe die Verwendung von $ SHELL missverstanden. In den rc-Dateien gibt es keine 'exec bash'. Eigentlich wurde tcsh gestartet :) Ich habe "echo $ 0" verwendet, um es zu überprüfen und es ist tatsächlich tcsh. vor 14 Jahren 0
0
Dennis Williamson

tcshSetzt eine Kleinbuchstabenvariable mit dem Namen shell:

prompt> echo $shell /usr/bin/tcsh 
'Ps' sagt dir auch, was läuft. Dennis Williamson vor 14 Jahren 0
0
thegeek

Versuchen Sie, echo $ 0 auszuführen, das Ihren aktuellen Shell-Namen angibt. Weitere Informationen zum Wechseln von Schalen finden Sie hier