Bash
在登錄 RHEL 時切換 shell 到 bash
語境:
我們正在執行一個系統,它讓我們的 Linux 和 Unix Boxes 針對 AD 進行身份驗證,並且因為我們有許多不同版本的 Unix/Linux,我們必須預設為 /bin/sh 以確保無論伺服器如何登錄始終有效。我希望在 RHEL 上設置一個 .profile 以檢查登錄時設置的 shell,如果不是 bash,則切換到 bash。我沒有運氣Google搜尋一種方法來做到這一點,而且我的 shell 腳本處於較弱的一面。
問題:
在沒有 passwd 文件控制的情況下,如何在登錄時檢查 shell 和切換?
未經測試。編輯你的 ~/.profile …
if [ -x /bin/bash ]; then exec bash fi
你的意思是這樣的
which bash >/dev/null && exec bash
嗎?或者getent passwd
對你有什麼用的輸出?