如何在下次登录时将上次登录外壳保持为当前外壳?

αғs*_*нιη 5 command-line

作为标题,如何在下次登录时将上次登录外壳保持为当前外壳?例如,我的默认 shell 是“bash”,而我切换到“zsh”,如何在下次登录或打开终端时将“zsh”shell 作为当前 shell?

Anw*_*war 6

您可以在您的.bash_logout.zlogout文件中使用一个命令来将当前登录 shell 更改为您正在使用的那个。

命令可以是

chsh -s "$(which "$(ps -p $$ -ocomm=)")" $USER
Run Code Online (Sandbox Code Playgroud)

因为,.bash_logout并且.zlogout应该在退出 shell 之前获取,这应该将登录 shell 更改为当前正在运行的 shell。但是,您需要在退出前提供密码才能更改外壳。

我使用了来自 SO 的这个问题的信息,并使用zsh和进行了测试bash