AIX - Wie kann ich die Benutzer-Shell in Bash ändern?

9580
Mercer

Ich möchte wissen, wie ich bashautomatisch laufen kann, wenn ich mich bei meinem AIX-Server anmelde. Wie kann ich das tun, ohne bashjedes Mal eintippen zu müssen, wenn ich mich bei meinem AIX-Server anmelde?

2

1 Antwort auf die Frage

6
Thomas Dickey

Sie würden normalerweise ausgeführt chsh(siehe beispielsweise Shells unter IBM AIX ändern ). Wenn bashjedoch in diesen Dateien nicht aufgeführt ist, können Sie Ihr Login beschädigen:

  • / etc / Shells und
  • /etc/security/login.defs

Als Problemumgehung können Sie das Login-Initialisierungsskript Ihrer Shell bashdirekt ausführen lassen . Das würde funktionieren, wenn Ihre Shell cshzum Beispiel modifiziert wird .login.

Wenn Ihre Login-Shell dies ist ksh, ist das etwas schwieriger: AIX ksh verwendet .profile(was von anderen Shells verwendet wird) und setzt keine speziellen Variablen. So etwas könnte für Sie funktionieren, in .profile:

[ $SHLVL = 1 ] && exec bash 

Sowohl ksh als auch bash setzen diese Variable. Es sollte so sein, 1wie Sie sich gerade anmelden, und erhöht werden, wenn Sie zur Bash wechseln.

Beim Experimentieren mit solchen Dingen ist es wichtig, eine funktionsfähige Shell auf dem Remote-Computer zu haben und Anmeldungen mit einer anderen Verbindung zu testen, falls bei Ihren Änderungen ein Problem auftritt.

Ich habe folgendes: `Derzeit verfügbare Shells: / bin / sh / bin / bsh / bin / csh / bin / ksh / bin / tsh / bin / ksh93 / usr / bin / sh / usr / bin / bsh / usr / bin / csh / usr / bin / ksh / usr / bin / tsh / usr / bin / ksh93 / usr / sbin / uucp / uucico / usr / sbin / sliplogin / usr / sbin / snappd / usr / bin / rksh / usr / bin / rksh93 ejab7330's aktuelle Login-Shell: / usr / bin / ksh` Mercer vor 8 Jahren 0