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.
Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.
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
?