При использовании zsh вызывает расширение истории

Когда я ищу файл с

ls [at]est.txt 

он дает результат test.txt как ожидалось

Однако, когда я использую

 ls [!ag]est.txt 

output is ls [aptg]est.txt

Некоторые другие примеры для [! Set]:

  • ls [!bz]est.txt возвращает [bbz]est.txt
  • ls [!gh]est.txt возвращает ls [git clone --depth=1h]est.txt

Что-то не так с моим zsh, или [! Set] работает по-разному в zsh?


Машина – Linux Mint 18.2

2 Solutions collect form web for “При использовании zsh вызывает расширение истории”

Как было предложено steeldriver, вместо ! делает [! set] решает проблему.

Причина в том, что в zsh ! инициирует расширение истории. Если вы не хотите, чтобы это произошло, отключите расширение истории. Для этого выполните setopt nobanghist в командной строке.

Один из способов избежать расширения истории – это цитата ! обратная косая черта:

 ls [\!ag]est.txt 

Конечно, при отрицании набора, вероятно, проще просто использовать ^ вместо ! ,

Другой способ – временно отключить расширение истории, добавив последовательность символов !" любом месте (действительно!) До (ранее) ! !" будут удалены и последующие ! не имеют особого значения.

 !" ls [!ag]est.txt ls !" [!ag]est.txt ls [!"!ag]est.txt l!"s [!ag]est.txt 
  • Как разбить вывод команды и назначить результат массиву, используя только одно выражение?
  • Zsh вложенная команда args $ SHLVL ошибка?
  • zsh: Как проверить, включена ли опция
  • Почему мой список не преобразуется в массив в сценарии запуска .zshrc?
  • эквивалент часов в zsh
  • Как сделать HOME, END работать на терминале без X
  • Как добавить автозаполнение пути к пользовательской функции завершения в zsh?
  • Почему оператор if if интерпретирует логическое обратное
  • Как установить команду редактора для использования * только * для редактирования командной строки в zsh?
  • Массивы и циклы в zsh
  • Как интерполировать $ {: - = cat} в строке с двумя кавычками?
  • Linux и Unix - лучшая ОС в мире.