Cette question a déjà une réponse ici:
Très souvent, sur mon Mac, lorsque j'utilise le caractère pipe (|) suivi d'un caractère espace, un caractère invisible est inséré entre les deux.
Ceci est particulièrement gênant lors de l'utilisation du terminal, car cela rend les commandes invalides.
Si je tape ce qui suit dans iterm2, je reçois souvent ce qui suit:
ls | cat
zsh: command not found: cat
Si j'appuie sur la flèche vers le haut pour obtenir ma commande précédente, puis supprime et réinsère l'espace entre |
et cat
, la commande fonctionnera.
Lorsque je copie, collez les commandes de travail et de travail dans un fichier, comme ceci:
non-working: ls | cat
working: ls | cat
et ouvrez-le dans Hex Fiend, il montre ce qui suit:
non-working: ls | cat
working: ls | cat
J'ai également rencontré le même type de problème dans SublimeText2 en utilisant les crochets ( []) suivis d'un espace. Donc, je ne crois pas que ce soit un problème avec iTerm2.