приветствую, о всезнающий олл!
Потребовалось оградить find от определенных подкаталогов и нагуглил конструкцию "-not -path /path/*". Если перечислить все пути в команде - всё работает. Если список параметров занести в переменную и подставить её - результат не соответствует ожидаемому.
Скажем скрипт:
----------
#!/bin/sh
#Работает
find ./s -not -path "./s/d2/*" -not -path "./s/d4/*" -print >s-exclude.files
#./find-subdir.sh
#echo $exclude выдает:
# -not -path "./s/d2/*" -not -path "./s/d4/*"
#Хочу
exclude='
-not -path "./s/d2/*"
-not -path "./s/d4/*"
'
echo $exclude
find ./s $exclude -print >s-excl.files
----------
Вот как раз в результате: s-excl.files есть все файлы без исключений.
Что я делаю не так?
Как сделать чтобы список исключаемых можно было легко и читаемо изменять?
Банальная задача: получить список файлов измененных вчера т.е. find / -not -path «/proc/*» -not -path «/home/*» -not -path «/tmp/*» -mtime 1 -mtime -2 -exec ls -al {} \; но /home, /proc, /tmp, и.т.д из переменной.
![](/photos/49912:1163776537.png)
![](/photos/111506:869939704.jpg)
![](/photos/105962:959150243.png)
![](/photos/60274:-36198198.png)
![](/photos/105962:959150243.png)
![](/photos/108888:-1255391400.png)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Архивирование подкаталогов (2018)
- Форум bash: while + if. прошу помочь разобраться (2013)
- Форум Подставить в строку ввода значение переменной (2013)
- Форум [sh]Значение переменной в цикле (2011)
- Форум Подставить переменную в переменную (2012)
- Форум как подставить значение? (2008)
- Форум Значение переменной (2011)
- Форум jenkins подставить свое значение (2019)
- Форум [sh]Объединение строк (2009)
- Форум sh: присвоение переменных (2008)