當我使用 mobaXterm ssh 到 RHEL7 伺服器(儲存了 uname 和 pwd)時,我只是得到一個閃爍的遊標,它將接受輸入但不執行任何操作。我可以按ctrl+c
然後出現bash-4.2$
,一切都很好,但是這很煩人,並且ctrl+c
在登入時添加到 mobaXterm 執行命令並不能「解決」這裡的問題。
使用其他 ssh/telnet 工具(例如 putty、secureFX)會產生相同的結果(ctrl+c
以獲得互動式 shell)
答案1
如果.profile
實際上確實包含:
SHELL=`type -p bash`
exec bash -l
沒有.bash_profile
,我們有一個循環。您的登入 shell(也許/bin/sh
)讀取.profile
,這會導致它exec
作為登入 shell 進行 bash。 Bash,當以登入 shell 執行時,讀取.bash_profile
,如果缺少,則讀取.profile
。因此,它也會讀取並執行這些命令,這會導致它exec
作為登入 shell 進行 bash。 Bash,當以登入 shell 執行時,...。
這可能是一種更明智的方法:
if [ -z "${BASH_VERSION}" ];
then
SHELL=`type -p bash`
exec bash -l
fi
不過,您應該要求系統管理員將 bash 設定為您的登入 shell,而不是像這樣的 hack(假設您自己無法使用 bash 來執行此操作chsh
)。