когда я подключаюсь по ssh с помощью mobaXterm к серверу RHEL7 (с сохраненными uname и pwd), я просто получаю мигающий курсор, который принимает ввод, но ничего не выполняет. Я могу нажать, ctrl+c
а затем появляется bash-4.2$
, и все хорошо, однако это раздражает, и добавление ctrl+c
в mobaXterm команды execute при входе в систему не «решает» проблему здесь.
Использование других инструментов ssh/telnet, таких как putty, secureFX, дает те же результаты ( ctrl+c
для получения интерактивной оболочки)
решение1
Если на .profile
самом деле содержит:
SHELL=`type -p bash`
exec bash -l
И нет .bash_profile
, у нас есть цикл. Ваша оболочка входа (например /bin/sh
, ) читает .profile
, что заставляет ее использовать exec
bash как оболочку входа. Bash, когда она запущена как оболочка входа, читает .bash_profile
, и если этого нет, .profile
. Таким образом, она также будет читать выполнять эти команды, что заставляет ее использовать exec
bash как оболочку входа. Bash, когда она запущена как оболочка входа, ….
Возможно, это будет более разумным способом сделать это:
if [ -z "${BASH_VERSION}" ];
then
SHELL=`type -p bash`
exec bash -l
fi
Однако вместо таких уловок вам следует попросить системного администратора установить bash в качестве оболочки входа в систему (если вы не можете сделать это самостоятельно с помощью chsh
).