Je suis tombé sur ce comportement de zsh lors de l'utilisation de FreeBSD:
% dd if=/dev/zero bs=1M count=1 of=~/test2
dd: failed to open '~/test2': No such file or directory
Cela m'a vraiment dérouté car la même chose fonctionne très bien en bash.
Je peux les touch
fichiers en utilisant tilde dans zsh, puis ls
eux:
% touch ~/test2
% ls ~/test2
/home/christoph/test2
Au début, j'ai supposé que zsh ne réalisait pas qu'il y avait un chemin après, of=
donc il ne s'est pas développé ~
. Mais la saisie automatique des noms de fichiers fonctionne très bien. En fait, si vous utilisez un nom de fichier existant, commencez son chemin par ~
, puis appuyez sur Tab à un moment donné, le chemin est développé dans la commande que je tape.
Pourquoi zsh passe-t-il ~/test2
à dd
, non /home/christoph/test2
?
zsh se comporte de la même manière sous Linux. En fait, j'ai exécuté ces commandes ci-dessus et copié leurs sorties sur une machine Linux.
$HOME
place de~
.