Lors de l’utilisation de la commande rsync, il est possible d’obtenir le message d’erreur suivant :
TERM environment variable not set.
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(173) [sender=3.0.7]
Code language: CSS (css)
Il s’agit la plupart du temps du fichier /~.bashrc
qui n’est pas propre puisqu’il renvoie des informations au terminal.
Cela peut être dû à une commande qui donne des informations sur la date ou le système ou toute autre commande qui se lance à la connexion.
Rsync ne s’attend pas à cela et bloque.
La solution : pas d’output via .bashrc
La solution est assez simple : il suffit de nettoyer les commandes du .bashrc
qui renvoient du texte ou en redirigeant le résultat de ces commandes vers /dev/null
.
Le fichier .bashrc
n’est pas la bonne place pour générer du texte dans le terminal. Les commandes doivent être déplacées dans le fichier .bash_profile
.
Ainsi, vous n’aurez plus à sacrifier l’output quand vous vous connectez ou à éditer .bashrc
quand vous voulez utiliser rsync.
Rencontrez-vous des défis avec votre site WordPress ou WooCommerce? Laissez-moi les résoudre pour vous.
Bonjour,
Merci pour l’astuce, je rencontre ce problème et je n’arrive pas à le résoudre.
J’ai créé un fichier bash et je ne vois pas ce qu’il y a à nettoyer sur /~.bashrc.
Je continue de chercher
Bonjour Widee,
Tu dois avoir une commande ou un bout de code qui génére du texte dans le bash.
Quel est le contenu de ton fichier
<.bashrc
?