Есть ядро скрипта, примерно такое:
#! /bin/sh
set -x
_LIST="$*"
for pattfile in $(dir -C "./exclude.list.d") ; do
exec 100< "./exclude.list.d/${pattfile}"
while read -u 100 pattern ; do
_LIST="$_LIST ! -iname \'$pattern\'"
done
done
find /home/$USER $_LIST > listfile
В каталоге exclude.list.d лежат файлы со списками масок (*.rar, *.zip, *.log и т.п. Одна маска на строку.)
Что я ни делаю, не могу добиться нормальной работы экранирования... результирующая команда получается либо нерабочей (маски заменяются списком файлов, под них попадающих), либо вообще нерабочей (Маски превращаются в помойку вида
'!' -iname ''\''*.iso'\'''
Можно сделать ЭТО нормально без использования более других средств, одним шеллом?