Я пытаюсь запустить команду с несколькими аргументами.Синтаксис команды выглядит так:
./foo -d directory -f file -v version app1 app2 app3 (this situation works)
Однако, если я поставлю -v version
после app1,2,3
, он будет передан в качестве аргумента, а не флаг -v
.Как заставить флаг -v
работать в любой позиции с несколькими аргументами?
while getopts ":d:f:v:" OPTION
do
case $OPTION in
d ) IFS=","; directory=$OPTARG;;
f ) file=$OPTARG;;
v ) version=$OPTARG;;
* ) echo && usage;;
/? ) echo && usage;;
esac
done
shift $(( OPTIND - 1 ))
for dir in ${dirList} do
for f in ${file} ; do
echo $dir/$file
done
done
applications=$@