En algunos hosts, obtienen de forma incorrecta .bash_profile
inicios de sesión no interactivos como scp. Los mensajes que se imprimen en el terminal pueden hacer scp
que no funcione correctamente. Si tiene mensajes en su, .bash_profile
esta puede ser la causa.
Para que sus mensajes de inicio de sesión, pancarta, etc. se muestren en inicios de sesión interactivos y pueda seguir utilizando scp
un inicio de sesión no interactivo, agregue lo siguiente antes de cualquier mensaje que se imprima en su .bash_profile
archivo.
# ********** If not running interactively, don't do anything more! ***********
[ -z "$PS1" ] && return
El código alternativo es:
[[ $- == *i* ]] || return
Y otro código alternativo:
case $- in
*i*) ;;
*) return;;
esac
Lo que creo es la versión más larga del primer código alternativo. En algunos hosts he encontrado que el primer código no funciona correctamente pero el segundo sí.
Durante un inicio de sesión scp no interactivo, abortará la ejecución posterior de .bash_profile y permitirá que scp funcione, pero mostrará sus mensajes de inicio de sesión cuando inicie sesión a través de ssh.
Nota: Esto también se puede usar en su .bashrc
archivo si lo .bash_profile
obtiene (por $ PATH), de modo que solo una parte se obtiene durante inicios de sesión no interactivos.