Исключая имя каталога в zsh рекурсивном шарике

Учебное руководство не использует sudo и требует корневой оболочки. Можно получить корневую оболочку с sudo -i.

В случае, если Вы предпочитаете sudo, перенаправление обрабатывается оболочкой а не sudo команда. Таким образом, Вы не можете создать файл в /etc/apache2/sites-available путем направления вывода, как Вы сделали. Согласно sudo руководство, необходимо использовать подоболочку как:

$ cd /etc/apache2/sites-available
$ sudo sh -c "sed 's/www/www\/drupal/g' default > drupal"
7
10.04.2013, 02:46
2 ответа

Расширенная поддержка операторов шарика Zsh, соответствующая / (в отличие от ksh's, даже в реализации zsh). Zsh **/ ярлык для (*/)# (*/ повторенный 0 или больше раз). Таким образом, все, что я должен сделать, заменить это * ^.svn (что-либо, но .svn).

print -l (^.svn/)#

Аккуратный!

20
27.01.2020, 20:14
  • 1
    Это - большой ответ — хотя он требует setopt EXTENDED_GLOB. Без него Вы доберетесь zsh: bad pattern: [...]. –  Andy Fowler 04.04.2016, 00:39

В то время как ksh93 globbing нигде не рядом zshдаже с globstar опция, в ksh93, это может быть достигнуто с:

set -o globstar
FIGNORE='@(.|..|.svn)'
printf '%s\n' **/
2
27.01.2020, 20:14

Теги

Похожие вопросы