Получение нескольких аргументов для одного параметра с помощью getopts в Bash
Мне нужна помощь сgetopts
.
Я создал скрипт Bash, который выглядит так при запуске:
$ foo.sh -i env -d каталог -s подкаталог -f файл
Он работает правильно при обработке одного аргумента от каждого флага. Но когда я вызываю несколько аргументов из каждого флага, я не уверен, как извлечь информацию из нескольких переменных из переменных вgetopts
.
while getopts ":i:d:s:f:" opt
do
case $opt in
i ) initial=$OPTARG;;
d ) dir=$OPTARG;;
s ) sub=$OPTARG;;
f ) files=$OPTARG;;
esac
done
После получения опций я хочу построить структуру каталогов из переменных
foo.sh -i test -d directory -s subdirectory -s subdirectory2 -f file1 file2 file3
Тогда структура каталога будет
/test/directory/subdirectory/file1
/test/directory/subdirectory/file2
/test/directory/subdirectory/file3
/test/directory/subdirectory2/file1
/test/directory/subdirectory2/file2
/test/directory/subdirectory2/file3
Есть идеи?