Bash

在登錄 RHEL 時切換 shell 到 bash

  • May 10, 2016

語境:

我們正在執行一個系統,它讓我們的 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對你有什麼用的輸出?

引用自:https://unix.stackexchange.com/questions/282302