Я знаю две программы для управления PDFs в соответствии с Linux:
PDEedit "PDFedit является свободным редактором PDF с открытым исходным кодом и библиотекой для управления документами в формате PDF, выпущенными в соответствии с условиями GNU версия 2 GPL. Это включает библиотеку управления PDF на основе xpdf, GUI, набора инструментов командной строки и редактора PDF".
и pdftk, "Если PDF является интернет-изданием, то pdftk является электронным основным съемником, перфорацией дыры, редактором связей, секретным кольцом декодера и Стеклами рентгеновского луча. Pdftk является простым инструментом для того, чтобы сделать повседневные вещи с документами в формате PDF".
Это выглядит корректным, если Вы хотите проигнорировать shared
в корне дерева каталогов, т.е. если Вы игнорируете один из $base_directories
. Но если Вы означали игнорировать shared
где-нибудь глубже в иерархии, Вам нужно -F "(shared **shared)"
. Можно также поместить шаблоны в массив, который уменьшит боли заключения в кавычки.
local -a ignored base_directories
base_directories=(…)
ignored=(shared '*/shared')
_path_files -W base_directories -/ -F ignored
Существуют примеры в стандартном распределении в _cvs
и _darcs
.
Если это не помогает, попытайтесь исследовать то, что продолжается путем добавления set -x
и set +x
вокруг проблематичного кода, или setopt local_options xtrace
(иначе set -x
и опции изменения только на время текущей функции).