Comme d'autres l'ont mentionné, le problème se produit lorsque le texte collé contient des caractères de nouvelle ligne. Sachant cela, votre question est plus ou moins la même que la suivante celui-ci sur Server Fault . Site différent, je vais donc répéter ma réponse ici
Ce que vous souhaitez, c'est ce que l'on appelle ' pâte entre crochets ', une fonctionnalité disponible dans certains shells.
En supposant que vous utilisiez une version récente du Shell de bash, vous pouvez l'activer pour la session en cours de la manière suivante :
bind 'set enable-bracketed-paste on'
Essayez maintenant en collant plusieurs lignes :
echo Hello world
echo Again, I say, hello!
Le Shell reconnaît que le texte a été collé (et non tapé) et attend votre confirmation. Si tout semble correct, appuyez sur la touche Entrée. Dans le cas contraire, appuyez sur Control-C pour annuler.
Si vous souhaitez activer le collage entre crochets pour chaque nouvelle session, ajoutez la commande à votre fichier .inputrc :
cd ~
echo "set enable-bracketed-paste" >> .inputrc
Une autre option consiste à passer de bash a zsh où la fonction de collage entre crochets est activée par défaut. Pour remplacer votre Shell actuel par un Shell zsh :
exec zsh
Avec zsh, le texte collé est mis en évidence, ce qui est agréable. Encore une fois, appuyez sur Entrée pour exécuter la/les commande(s) ou sur Contrôle-C pour annuler.
Si vous aimez zsh et souhaitez en faire le Shell par défaut :
chsh -s /bin/zsh