2 votes

Désactiver complètement les globes ? et [] dans zsh

Zsh ajoute une logique de globalisation supplémentaire par rapport à bash :

$ zsh
$ echo foo[]
zsh: no matches found: foo[]
$ echo bar?
zsh: no matches found: bar?

$ bash
$ echo f[]
f[]
$ echo bar?
bar?

Ni l'un ni l'autre ne me sont utiles et rendent la copie/saisie d'URL et autres fastidieuse.

J'aimerais désactiver complètement cette fonction, mais je n'ai pas encore trouvé le moyen de le faire.

Il existe quelques solutions imparfaites :

  • setopt NO_NOMATCH

Cela fonctionne généralement, à moins que votre glob n'ait accidentellement fait match, like :

$ echo README.m?
README.md
  • Ajouter des citations

Cela fonctionne, mais pas pour copier-coller des extraits en ligne et ajoute une étape supplémentaire dont je dois me souvenir lorsque je tape.

  • Utilisation url-quote-magic pour échapper automatiquement

Cela pollue le CLI/l'historique, et ne fonctionne que pour coller

1voto

Marlon Richert Points 1441

? est également un joker en Bash . La différence que vous constatez est due au fait qu'en Zsh, une correspondance échouée entraîne une erreur, alors qu'en Bash, elle est ignorée silencieusement.

Pour obtenir le même comportement dans Zsh, il suffit d'ajouter ceci à votre fichier ~/.zshrc fichier :

setopt NO_nomatch

Vous pouvez préfixer n'importe quelle option listée à http://zsh.sourceforge.net/Doc/Release/Options.html con no pour l'éteindre :

Le sens d'un nom d'option peut être inversé en le faisant précéder de no Así que setopt No_Beep est équivalent à unsetopt beep . Cette inversion ne peut être effectuée qu'une seule fois, de sorte que nonobeep n'est pas un synonyme de beep . De même, tify n'est pas un synonyme de nonotify (l'inversion de notify ).

Oh, et comme vous pouvez le voir ci-dessus :

Ces noms sont insensibles à la casse et les traits de soulignement sont ignorés. Par exemple, allexport est équivalent à A__lleXP_ort .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X