Anonymous Asked: 2018-02-09 09:44:54 +0800 CST2018-02-09 09:44:54 +0800 CST 2018-02-09 09:44:54 +0800 CST 在 Linux 中登录特定 TTYn 后如何更改(永久)默认 shell? 772 我知道该chsh命令用于在已安装的 shell 之间为用户切换登录 shell,但无论登录来自何处(tty1、tty2、ssh、...),它都可以工作。我想要实现的是例如csh在来自 tty7 的登录上以及例如bash在所有其他登录源上。 这完全可行吗? linux shell 1 个回答 Voted Best Answer Kusalananda 2018-02-09T09:58:27+08:002018-02-09T09:58:27+08:00 不,是的。 不,登录 shell 与用户相关联,而不是与用户登录的 TTY 相关联。用户只能拥有一个特定的登录 shell。 是的,用户可以在登录 shell 的初始化文件中,根据任何条件启动任何其他程序或实用程序。 例如,当前登录 shell 的用户可以在他们的文件中bash添加如下内容,以便在虚拟终端 7 上登录时运行:.bash_profilecsh case $(tty) in */tty7) exec csh -l ;; esac exec csh -l将用 , 替换当前 shell csh,作为登录 shell 启动。
不,是的。
不,登录 shell 与用户相关联,而不是与用户登录的 TTY 相关联。用户只能拥有一个特定的登录 shell。
是的,用户可以在登录 shell 的初始化文件中,根据任何条件启动任何其他程序或实用程序。
例如,当前登录 shell 的用户可以在他们的文件中
bash
添加如下内容,以便在虚拟终端 7 上登录时运行:.bash_profile
csh
exec csh -l
将用 , 替换当前 shellcsh
,作为登录 shell 启动。