Der Grund, warum meine Shell immer wieder zu bash zurückkehrt und mich sogar daran hindert, exec für tcsh zu verwenden, war, weil in der .cshrc-Datei eine Zeile stand, die darin steht exec /bin/bash -l
. Um dies zu beheben, entfernte ich diese Linie und kann von diesem Punkt an die Muscheln wechseln.
ypchsh ändert sich nicht zu einigen Muscheln
Ich bin momentan in bash, möchte aber meine Shell in tcsh ändern. Ich habe ypchsh verwendet, mein Passwort eingegeben, wenn Sie dazu aufgefordert wurden, und dann die Login-Shell in / bin / tcsh geändert. Es schien, als ob es funktioniert hat, weil ich eine Nachricht bekomme, die besagt "Die Login-Shell wurde auf [Domäne] geändert". Dann habe ich mich abgemeldet und wieder angemeldet. Ich habe $ 0 überprüft, um meine aktuelle Shell zu überprüfen, aber es wird angezeigt, dass ich immer noch in / bin / bash bin. Wenn ich jedoch $ SHELL echo, bekomme ich / bin / tcsh. Und wenn ich ps mache, zeigt es, dass bash anstelle von tcsh läuft.
Andere Schritte zur Fehlerbehebung: Die gleichen Schritte unternommen, um zu anderen Shells wie sh und ksh zu wechseln, was funktioniert. Wenn ich zu csh wechsle, habe ich dasselbe Ergebnis wie beim Versuch, zu tcsh zu wechseln. Geprüfte / etc / shells und tcsh werden aufgelistet. Ich habe auch exec tcsh ausprobiert, aber das System läuft immer noch bash.
Ich versuche, dies auf einem Schulkonto zu tun, daher gibt es möglicherweise ein Erlaubnisproblem. Obwohl einer meiner Klassenkameraden sein Konto wechseln konnte, um die Shell zu wechseln. Wenn nicht die Erlaubnis gibt es eine Datei, die ich konfigurieren muss?
[user@machine ~]> echo $0 /bin/bash [user@machine ~]> echo $SHELL /bin/tcsh [user@machine ~]> ypchsh Changing NIS account information for user on machine Please enter password: Changing login shell for user on machine To accept the default, simply press return. To use the system's default shell, type the word "none". Login shell [/bin/tcsh]: /bin/tcsh The login shell has been changed on machine [user@machine ~]> logout [user@machine ~]> echo $0 /bin/bash [user@machine ~]> echo $SHELL /bin/tcsh [user@machine ~]> FOO=BAR [user@machine ~]> ps PID TTY TIME CMD 14549 pts/21 00:00:00 bash 14780 pts/21 00:00:00 ps [user@machine ~]> exec /bin/tcsh [user@machine ~]> echo $0 /bin/bash [user@machine ~]> echo $SHELL /bin/tcsh [user@machine ~]> FOO=BAR [user@machine ~]> [user@machine ~]> uname -a Linux machine 2.6.32-696.3.2.el6.i686 #1 SMP Tue Jun 20 00:48:23 UTC 2017 i686 i686 i386 GNU/Linux [user@machine ~]> /bin/ls -ld drwx--s--x 49 user group 4096 Sep 1 13:08 . [user@machine ~]> /bin/*sh /bin/csh: /bin/csh: cannot execute binary file [user@machine ~]> /usr/bin/*sh Usage: amuFormat.sh <Card Type> <drive> <Card Type> has to be defined in amuFormat.sh itself <drive> has to be defined in mtools.conf
1 Antwort auf die Frage
Verwandte Probleme
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
6
Welche zsh-Funktionen verwenden Sie?
-
8
Die Windows-Shell töten
-
3
Mac OS X: herkömmliche Orte, an denen Binärdateien gespeichert werden sollen
-
2
Mac OS X: einfaches Skript gesucht
-
10
Wie kann ich die Bash-Historie durchsuchen und einen Befehl erneut ausführen?
-
2
Kann die Ausgabe eines Befehls an zwei andere Befehle weitergeleitet werden?
-
8
Benennen Sie eine Gruppe von Dateien mit einem Befehl um
-
2
Warum aktualisiert sich mein Pfad nicht * jetzt *?
-
5
Wie entferne ich einen symbolischen Link zu einem Verzeichnis?