登录时按 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,而不是像这样进行黑客攻击(假设您自己无法使用 bash 来执行此操作chsh)。

相关内容