В отличие от bash
, zsh
по умолчанию сообщает об ошибке, если шаблон генерации имени файла не имеет совпадений. Это поведение можно изменить глобально или для каждого шаблона.
Чтобы сообщения об ошибках не совпадали с шаблоном во всем мире, вы можете установить один из вариантов NULL_GLOB
или CSH_NULL_GLOB
:
setopt nullglob
Если шаблон не имеет совпадений, он будет удален из списка аргументов. Сообщение об ошибке не выводится. В вашем примере
rm dir1 / * dir2 / *
будет просто расширен до
rm dir2 / blah
setopt cshnullglob
Также удаляет несовпадающие шаблоны и не выводит сообщение об ошибке, если ни один из шаблонов не имеет соответствия.
Чтобы предотвратить сообщения об ошибках для отдельных шаблонов, вы можете использовать квалификатор glob N
, который ведет себя так, как если бы для этого шаблона была активирована опция NULL_GLOB
:
rm dir1/*(N) dir2/*(N)
Это также будет быть расширенным до
rm dir2/blah
Я считаю, что это было невозможно в то время, когда я разместил этот вопрос, но теперь это функция по умолчанию в KDE. Вы можете изменить ярлыки в Системных настройках -> Ярлыки -> Плазма -> Активировать запись диспетчера задач 1.. 10