Auf einigen Hosts wird fälschlicherweise .bash_profile
nach nicht interaktiven Anmeldungen wie scp gesucht. Meldungen, die an das Terminal gesendet werden, können möglicherweise dazu führen scp
, dass sie nicht richtig funktionieren. Wenn Sie Nachrichten in Ihrem .bash_profile
haben, kann dies die Ursache sein.
Damit Ihre Anmeldemeldungen, Banner usw. weiterhin in interaktiven Anmeldungen angezeigt werden und weiterhin scp
über eine nicht interaktive Anmeldung verwendet werden können, fügen Sie vor jeder Meldung, die in Ihrer .bash_profile
Datei ausgedruckt wird, Folgendes hinzu .
# ********** If not running interactively, don't do anything more! ***********
[ -z "$PS1" ] && return
Alternativer Code ist:
[[ $- == *i* ]] || return
Und noch ein alternativer Code:
case $- in
*i*) ;;
*) return;;
esac
Was ich glaube, ist die längere Version des ersten alternativen Codes. Ich habe festgestellt, dass auf einigen Hosts der erste Code nicht richtig funktioniert, der zweite jedoch.
Während einer nicht interaktiven scp-Anmeldung wird die weitere Ausführung von .bash_profile abgebrochen und ermöglicht, dass scp funktioniert. Ihre Anmeldemeldungen werden jedoch angezeigt, wenn Sie sich über ssh anmelden.
Hinweis: Dies kann auch in Ihrer .bashrc
Datei verwendet werden, wenn Sie sie aus .bash_profile
(für $ PATH) beziehen, sodass bei nicht interaktiven Anmeldungen nur ein Teil davon bezogen wird.