Когда я делаю rm * в zsh, я получаю что-то вроде этого:
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
Сначала zsh спрашивает меня, уверен ли я, что хочу удалить все, а затем rm запрашивает каждый конкретный файл.
Как я могу просто пройти проверку zsh?
rm -f ./*
. По умолчаниюrm
ничего не спрашивает, если у вас нет разрешения на запись в файл. Может быть, у вас естьalias rm='rm -i'
setopt rmstarsilent
Ответы:
Сообщение «zsh: уверен, что вы хотите удалить все файлы» - это функция zsh, которая вызывается командой, вызываемой
rm
с аргументом, который является*
илиsomething/*
перед расширением глоба. Вы можете отключить это сsetopt rm_star_silent
.Сообщение «rm: удалить обычный файл» приходит от самой
rm
команды. Он не будет отображаться по умолчанию, он появляется только тогда, когдаrm
вызывается с опцией-i
. Если вы не хотите это сообщение, не передавайте эту опцию. Даже без-i
,rm
запрашивает подтверждение (с другим сообщением), если вы пытаетесь удалить файл только для чтения; Вы можете удалить это подтверждение, передав опцию-f
.Поскольку вы не передали
-i
командную строку,rm
это, вероятно, псевдоним дляrm -i
(это также может быть функция, нестандартная команда-обертка или другой псевдоним, но псевдонимrm -i
является наиболее вероятным). Некоторые конфигурации по умолчанию включаютalias rm='rm -i'
в свои файлы инициализации оболочки; это может быть что-то, что настроил ваш дистрибутив или ваш системный администратор, или что-то, что вы откуда-то взяли и добавили в свой файл конфигурации, а затем забыли. Проверьте свой~/.zshrc
псевдоним дляrm
. Если вы найдете один, удалите его. Если вы не нашли его, добавьте команду для удаления псевдонима:источник
Правильная команда для отключения двойной проверки вроде бы
setopt rm_star_silent
. Для включения двойной проверки сделайтеsetopt no_rm_star_silent
.Для получения более подробной информации смотрите справочную страницу для zshoptions
man zshoptions
или http://linux.die.net/man/1/zshoptionsисточник
unsetopt rm_star_silent
Если вы используете oh-my-zsh, плагин common-aliases включает псевдоним rm -i.
https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/common-aliases/common-aliases.plugin.zsh
источник