我知道该chsh
命令用于在已安装的 shell 之间切换用户的登录 shell,但它可以工作不管登录的来源(tty1、tty2、ssh,...)。我想要实现的是csh
从 tty7 登录,并bash
在所有其他登录源上登录。
这到底可行吗?
答案1
不,又是。
不,登录 shell 与用户绑定,而不是与用户登录的 TTY 绑定。一个用户只能有一个特定的登录 shell。
是的,用户可以根据任何条件在登录 shell 的初始化文件中启动任何其他程序或实用程序。
例如,bash
当前登录 shell 的用户可以将类似以下内容添加到其文件中,以便在虚拟终端 7 上登录时.bash_profile
运行:csh
case $(tty) in
*/tty7) exec csh -l ;;
esac
exec csh -l
会将当前 shell 替换为csh
, 作为登录 shell 启动。