5 votes

Pourquoi "echo''" dans le fichier /etc/bashrc fait-il échouer scp ?

Je copie des répertoires d'une machine Snow Leopard vers une machine Tiger en utilisant scp -r et pour une raison quelconque, il apparaît que la dernière ligne du fichier de la machine cible (Tiger) /etc/bashrc ( echo '' ) entraîne le blocage de scp. Lorsqu'il est mis à l'écart, il fonctionne comme prévu.

Pourquoi ?

Je n'ai jamais vu ce comportement sur aucune de mes machines Slackware, Ubuntu, Gentoo, SuSE, Mandrake ou même Apple. Cela fait-il partie d'une récente mise à jour de sécurité de la version 10.6 ? scp a fonctionné comme prévu avec cette ligne jusqu'à récemment.

2voto

dpb Points 291

Celui-ci ressemble à votre problème :

Vous ne devriez pas publier des informations dans votre profil à moins que vous n'y accédiez de manière interactive. Il semble que SCP y soit sensible (potentiellement, en fonction de nombreux facteurs, j'en suis sûr). Vous pouvez tester l'interactivité de la manière suivante :

Texte copié pour référence :

To determine within a startup script whether Bash is running 
interactively or not, examine the variable $PS1; it is unset in non-
interactive shells, and set in interactive shells. Thus:

if [ -z "$PS1" ]; then
        echo This shell is not interactive
else
        echo This shell is interactive
fi

Alternatively, startup scripts may test the value of the `-' special 
parameter. It contains i when the shell is interactive. For example:

case "$-" in
*i*)    echo This shell is interactive ;;
*)  echo This shell is not interactive ;;
esac

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X