Я пытаюсь получить следующие действительные вызовы моего скрипта:
sh name.sh -l -a
sh name.sh -l
Это код, который у меня есть до сих пор, используя getopts, где -a является обязательным аргументом:
default="no"
echo "Initial parameters.
while getopts ":l:a:" o; do
case "${o}" in
l)
...;;
a)
a+=(${OPTARG})
IFS=',' read -a myarray <<< "$a"
default="yes"
;;
:)
echo "Missing option argument for -$OPTARG" >&2; exit 1;;
*)
usage;;
esac
done
shift $((OPTIND-1))
if [ -z "${l}" ] || [ -z "${a}" ] ; then
usage
fi
Мне просто нужно знать, как установить в getopts необязательный флаг -a с его аргументом. Спасибо:)