Unser Unternehmen verwendet das Red Hat Linux-System und weist jedem ein Konto in / home zu. Leider verwendet unser System tsch, was für mich nicht günstig ist. Da ich nicht über die Superuser-Berechtigung verfüge, kann ich den Befehl chsh nicht verwenden, um für mich selbst zu bash zu wechseln. Schlimmer noch, ypchsh ist auch für mich nicht verfügbar. Also füge ich endlich die folgenden Zeilen in die .cshrc ein:
bash
echo $0
und konfigurieren Sie die .bashrc entsprechend (Kopieren von der ursprünglichen .cshrc und Beheben des erforderlichen Syntaxfehlers). Jetzt wird die scheinbare Shell zu Bash (wie aus dem Befehl "echo $ 0" hervorgeht).
Jetzt taucht das Problem auf:
Wenn ich eine cpp-Datei mit vim bearbeite (z. B. Hello_World) und in vim ":! G ++ -g Hello_World.cpp -o hw.out" verwende, um die Datei zu kompilieren, wird kein Ergebnis angezeigt und vim wird mit beendet "bash" wird angezeigt (wie wenn ein Terminal geöffnet ist), aber ohne das übliche "Drücken einer Taste", um zu meiner Arbeit in vim zurückzukehren. Im Ordner Hello_World.cpp befindet sich eine .Hello_World.cpp.swp-Datei, jedoch nicht hw.out. Wenn vim Hello_World.cpp erneut angezeigt wird, stellt sich heraus, dass diese CPP-Datei geöffnet wurde.
Wenn ich jedoch die cpp-Datei im Ordner g ++, aber nicht vim und:! Verwende, ist alles in Ordnung. Eigentlich, :! jetzt scheint für vim illegal zu sein.
Wenn ich das Original tcsh verwende, ist auch alles in Ordnung.
Wie könnte ich diesen merkwürdigen Fehler beheben?
Vielen Dank für Ihre freundliche Hilfe im Voraus.
Qing
Übrigens: Ich bevorzuge bash gegenüber tcsh, hauptsächlich wegen der Bequemlichkeit von HISTIGNORE und HISTCONTROL, obwohl tcsh auch eine Histdup-Einstellung hat.
Ich fand das Folgende ein wenig hilfreich, aber für mein Problem immer noch nicht zufriedenstellend.
chsh
Sie diese Option, um Ihre Login-Shell zu ändern.