Quand je fais un rm * en zsh, j'obtiens quelque chose comme ceci:
2014-06-08 10:14:23 $ rm *
zsh: sure you want to delete all the files in /home/assay/assay/log [yn]? y
rm: remove regular file `development.log'? y
Tout d'abord, zsh me demande si je suis sûr de vouloir tout supprimer, puis rm demande chaque fichier spécifique.
Comment puis-je simplement avoir la vérification zsh?
rm -f ./*
. Par défaut,rm
ne demande rien sauf si vous ne disposez pas d'une autorisation d'écriture sur le fichier. Vous avez peut-être unalias rm='rm -i'
setopt rmstarsilent
Réponses:
Le message «zsh: vous voulez vraiment supprimer tous les fichiers» est une fonctionnalité zsh, déclenchée spécifiquement en invoquant une commande appelée
rm
avec un argument qui est*
ousomething/*
avant l'expansion glob. Vous pouvez désactiver cela avecsetopt rm_star_silent
.Le message «rm: remove regular file» provient de la
rm
commande elle-même. Il n'apparaîtra pas par défaut, il n'apparaît que lorsqu'ilrm
est invoqué avec l'option-i
. Si vous ne voulez pas ce message, ne passez pas cette option. Même sans-i
,rm
demande une confirmation (avec un message différent) si vous essayez de supprimer un fichier en lecture seule; vous pouvez supprimer cette confirmation en passant l'option-f
.Étant donné que vous n'avez pas transmis
-i
la ligne de commande,rm
est probablement un alias pourrm -i
(il peut également s'agir d'une fonction, d'une commande d'encapsuleur non standard ou d'un alias différent, mais l'aliasrm -i
est de loin le plus plausible). Certaines configurations par défaut incluentalias rm='rm -i'
dans leurs fichiers d'initialisation du shell; cela peut être quelque chose que votre distribution ou votre administrateur système a configuré, ou quelque chose que vous avez récupéré quelque part et ajouté à votre fichier de configuration, puis oublié. Vérifiez votre~/.zshrc
pour une définition d'aliasrm
. Si vous en trouvez un, retirez-le. Si vous n'en trouvez pas, ajoutez une commande pour supprimer l'alias:la source
La commande correcte pour désactiver la double vérification semble être
setopt rm_star_silent
. Pour activer la double vérification, faitessetopt no_rm_star_silent
.Pour plus d'informations, consultez la page de manuel de zshoptions
man zshoptions
ou http://linux.die.net/man/1/zshoptionsla source
unsetopt rm_star_silent
Si vous utilisez oh-my-zsh, le plug-in d'alias communs inclut l'alias rm -i.
https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/common-aliases/common-aliases.plugin.zsh
la source