Запуск сервера и клиента в make-файле [закрыто]

С zsh (обратите внимание, что GLOBIGNORE не зависит от bash, ни bash , ни zsh установлены во FreeBSD по умолчанию, но доступны оба):

(cd /target_folder || exit
all_dirs=(*(/))
to_exclude=(${(f)"$(<names.txt))"})

rm -rf -- ${all_dirs:|to_exclude})

Особые особенности zsh :

  • * (/) . (/) - квалификатор glob , который означает выбор только файлов типа в каталоге .
  • $ (: расширяется до содержимого (без завершающих символов новой строки) файла (происходит из ksh , bash также он есть, но выполняет форк для чтения содержимого файла там).
  • $ {(f) ...} . Это флаг раскрытия параметра , который разделяет раскрытие «$ (...)» на перевод строки. Для bash вам нужно будет сделать что-то вроде: IFS = $ '\ n'; set -f; to_exclude = ($ ( вместо этого.
  • $ {A: | B} расширяется до элементов массива $ A , которых также нет в массиве $ B .
-1
02.12.2014, 18:33
0 ответов

Теги

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