@alienstone

Как запустить утилиту с переменным числом ключей из bash?

Добрый день

Пишу обертку над find. Делаю список "include" и "exclude" путей ( проверяем и исключаем соответственно ).
На вход моему скрипту подается список ключей -i path1 -i path2 ( -e path1 -e path2 )
Соответственно, хочу запускать find . -path 'path1' -prune -o -path 'path2' -prune -o -print
Но не знаю, как сделать так, чтобы find вызывалось каждый раз с разным количеством аргументов

Помогите пожалуйста решить данную проблему
Спасибо
  • Вопрос задан
  • 356 просмотров
Решения вопроса 1
@viiy
Linux сисадмин \ DevOps
Удобней всего через getopts

FINDOPTS=''

while getopts "i:e:" opt; do
    case $opt in
        e) FINDOPTS=$FINDOPTS" --exclude $OPTARG ";;
        i) FINDOPTS=$FINDOPTS" --include $OPTARG ";;
    esac
done

echo $FINDOPTS


$ ./getopts.sh -i path1 -i path2 -i path3 -e path4 -e path5 
--include path1 --include path2 --include path3 --exclude path4 --exclude path5


Это абстрактный способ, адаптируйте аргументы под ваши задачи.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@alegzz
Запихать аргументы в переменную?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы