Mein Webserver wurde von jemandem manipuliert, der die zsh-Shell verwendete. Ich fühle mich mit der bash-Shell wohler, da dies die Standardeinstellungen sind, die mit Ubuntu und OS X (den beiden Hauptbetriebssystemen, die ich verwende) geliefert werden. Diese Frage konzentriert sich jedoch auf den Ubuntu-Server. Ich habe 4 Webseiten auf diesem Webserver, ich benutze byobu, ich benutze tmux, ich benutze ruby / ruby on Rails, node.js, apache, ein paar Daemons. Wenn ich die aktuelle Root-Shell von zsh auf bash umstelle, kann dies zu negativen Nebenwirkungen führen? Werden Prozesse beispielsweise abgebrochen, weil der übergeordnete Prozess (die Shell) umgeschaltet wurde?
command-line
bash
zsh
JohnMerlino
quelle
quelle
Antworten:
Wenn Sie Ihre Shell über
sudo chsh --shell=/bin/bash $USER
ändern , wird das Shell-Feld in geändert/etc/passwd
. Dieser Wert wird nur zum Zeitpunkt der Anmeldung abgefragt, wenn das System keine Ahnung hat, welche Shell für Sie verwendet werden soll.Laufende Prozesse, unabhängig davon, ob sie gestartet
zsh
wurdenbash
apache
oderevil_overlord's_program
nichtquelle
login
Programm läuft wie alles in einem Prozess ab. Wenn es Sie einlässt, erstellt es einen weiteren Prozess mit Ihrer UID usw. und führt / bin / bash (aus / etc / passwd) aus. Die Bash-Shell liest von STDIN (eingerichtet vonlogin
) und gibt / führt nicht eingebaute Befehle aus, wartet, bis sie beendet sind, und führt eine Schleife aus, um weitere Befehle zu erhalten. Die Idee, ein Terminal zu steuern, ist unter Unix / Linux nicht sinnvoll.Antwort vom Stack Overflow ( Wechsel von zsh zu bash ):
quelle
Öffnen Sie Ihr Terminal und verwenden Sie den folgenden Befehl:
quelle
which bash
würde den absoluten Pfad von angebenbash
, also wäre es das gleiche wenn/bin/bash
sich wobash
befände.Unter Mac OS Catalina
Zu zsh wechseln:
Zum Bash wechseln:
quelle