Strg+C beim Anmelden

Strg+C beim Anmelden

Wenn ich per SSH mit mobaXterm auf einen RHEL7-Server zugreife (mit gespeichertem uname und pwd), wird nur ein blinkender Cursor angezeigt, der Eingaben entgegennimmt, aber nichts ausführt. Ich kann drücken ctrl+cund dann erscheint bash-4.2$und alles ist gut, aber das ist ärgerlich und das Hinzufügen ctrl+cdes Befehls „execute“ von mobaXterm beim Anmelden „löst“ das Problem hier nicht.

Die Verwendung anderer SSH/Telnet-Tools wie Putty oder SecureFX führt zu denselben Ergebnissen ( ctrl+cum eine interaktive Shell zu erhalten).

Antwort1

Wenn es .profiletatsächlich enthält:

SHELL=`type -p bash`
exec bash -l

Und es gibt kein .bash_profile, wir haben eine Schleife. Ihre Login-Shell (sagen wir /bin/shvielleicht ) liest .profile, was dazu führt, dass sie execals Login-Shell basht. Wenn Bash als Login-Shell ausgeführt wird, liest es .bash_profile, und wenn das fehlt, .profile. Also würde es auch diese Befehle lesen und ausführen, was dazu führt, dass es execals Login-Shell basht. Wenn Bash als Login-Shell ausgeführt wird, ….

Dies könnte eine vernünftigere Möglichkeit sein, dies zu tun:

if [ -z "${BASH_VERSION}" ];
then
    SHELL=`type -p bash`
    exec bash -l
fi

Allerdings sollten Sie anstelle solcher Hacks Ihren Systemadministrator bitten, Bash als Ihre Anmelde-Shell einzurichten (vorausgesetzt, Sie können dies nicht selbst mithilfe von tun chsh).

verwandte Informationen