登入時按 ctrl+c

登入時按 ctrl+c

當我使用 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)。

相關內容