Nalguns hospedeiros, eles não fornecem correctamente .bash_profile
para logins não-interactivos como o scp. As mensagens que são impressas no terminal podem possivelmente fazer com que o scp
não funcione correctamente. Se tiver mensagens no seu .bash_profile
, esta pode ser a causa.
Para ainda ter as suas mensagens de login, banner, etc. exibidas nos logins interactivos e ainda poder utilizar scp
através de um login não interactivo adicione o seguinte antes de qualquer mensagem que imprima no seu ficheiro .bash_profile
.
# **********If not running interactively, don't do anything more!***********
[-z "$PS1"] && return
código alternativo é:
[[$- == *i*]] || return
E outro código alternativo:
case $- in
*i*) ;;
*) return;;
esac
Que creio ser a versão mais longa do primeiro código alternativo. Encontrei em alguns anfitriões o primeiro código não funciona correctamente, mas o segundo funciona.
Durante um login scp não-interactivo, abortará a execução de .bash_profile e permitirá que o scp funcione, mas exibirá as suas mensagens de login quando iniciar sessão via ssh.
Nota: Isto também pode ser utilizado no seu ficheiro .bashrc
se o obtiver de .bash_profile
(por $PATH), pelo que apenas parte dele é obtido durante os logins não interactivos.