У меня есть скрипт, который обрабатывает файлы и может принимать несколько файловых аргументов:
sh remove_engine file1 #single arg
sh remove_engine file1 file2 #multiple file arg
В верхней части скрипта я собираю их вместе с $@
, чтобы их зациклить.
Проблема в том, что я также собираюсь использовать опции (наряду с getopts
) ...
sh remove_engine -ri file1 file2
... и $@
теперь возвращает
-rvi file1 file2
, а остальная часть сценария принимает -ri
в качестве имени файла.
Также в верхней части скрипта у меня есть цикл while с getopts
while getopts :rvi opt
do
case"$opt" in
v) verbose="true";;
i) interactive="true";;
r) recursive="true";;
[?]) echo "Usage..."
exit;;
esac
done
Как мне разобрать параметры, а затем отделить аргументы от параметров?