для выполнения сценариев перерывов в ZSH

256
Igor Spasic

Я чувствую себя глупо У меня есть скрипт ZSH, например, с двумя файловыми циклами, например:

for f (*aaa*)  for f (*bbb*)  

Сценарий завершается, если первый findне находит подходящие файлы. Мне нужен сценарий, чтобы продолжать работать.

Что мне не хватает?

3

1 ответ на вопрос

5
Adaephon

If there is no match for *aaa* an error is reported by default. This is what causes your script to exit.

To avoid this the NULL_GLOB option has to be set. Then instead of reporting an error the pattern is simply removed from the argument list, if nothing matches.

There are several ways to set NULL_GLOB:

  • for the whole script by passing the -G command line option to zsh. This can also be done on the hash-bang line:
$ zsh -G SCRIPT 
#!/usr/bin/zsh -G for f (*aaa*) for f (*bbb*) 
  • for all following lines by setting it with setopt:
setopt NULL_GLOB for f (*aaa*) for f (*bbb*) 
  • for a single pattern by using the glob qualifier N:
for f (*aaa*(N)) for f (*bbb*) 
и я подумал, что знаю кое-что о зш ... вау! этот ответ отличный :) rsm 9 лет назад 0

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