Если вы используете оболочку bash, взгляните на встроенную команду getopts
. Введите help getopts
в командной строке bash, чтобы получить информацию об этом.
Короче говоря, он принимает список возможных опций и указывает, принимают ли они значения аргументов, и возвращает следующую опцию для обработки в паре переменных. Используйте его в цикле while, чтобы обработал все параметры , а затем вы также можете обработать имя файла:
while getopts "d:" flag
do
if [ "$flag" = "d" ]
then
D=$OPTARG
fi
done
echo $D # argument value you are looking for
shift $(($OPTIND - 1))
echo $1 # the file name after the parsed options