Linux
在 Linux 中登錄特定 TTYn 後如何更改(永久)預設 shell?
我知道該
chsh
命令用於在已安裝的 shell 之間為使用者切換登錄 shell,但無論登錄來自何處(tty1、tty2、ssh、…),它都可以工作。我想要實現的是例如csh
在來自 tty7 的登錄上以及例如bash
在所有其他登錄源上。這完全可行嗎?
不,是的。
不,登錄 shell 與使用者相關聯,而不是與使用者登錄的 TTY 相關聯。使用者只能擁有一個特定的登錄 shell。
是的,使用者可以在登錄 shell 的初始化文件中,根據任何條件啟動任何其他程序或實用程序。
例如,目前登錄 shell 的使用者可以在他們的文件中
bash
添加如下內容,以便在虛擬終端 7 上登錄時執行:.bash_profile``csh
case $(tty) in */tty7) exec csh -l ;; esac
exec csh -l
將用 , 替換目前 shellcsh
,作為登錄 shell 啟動。