“chsh -s”和“export SHELL”有什么区别?

Kev*_*tle 1 unix terminal shell

我认为该export命令仅在每个登录会话中有效,但我不确定。chsh我认为是更永久的。有人可以帮我解决这个问题吗(最好有链接/文档)?谢谢。

jjl*_*lin 5

chsh如果您想更改习惯的外壳,通常是您想要使用的。它会更新,/etc/passwd以便您新选择的 shell 在以后每次登录时启动。

export SHELL不会自己做任何事情。该SHELL变量有时由想要生成外部 shell 的程序使用(例如,在某个目录中为您提供命令行,或预先设置了某些环境变量)。如果你想临时运行另一个 shell,你通常会像任何其他程序一样直接运行它。例如,如果您的普通 shell 是,/bin/bash但您想在 下测试某些内容/bin/tcsh,那么只需/bin/tcsh在 bash 命令行上发出命令。