2
我试图将参数传递给我编写的脚本,但无法正确理解。Bash脚本参数
我要的是一个没有标志一个强制的说法,并与国旗两个可选参数,因此它可以被称为是这样的:
./myscript mandatory_arg -b opt_arg -a opt_arg
或
./myscript mandatory_arg -a opt_arg
./myscript mandatory_arg -b opt_arg
我看着getopts的和得到这个:
while getopts b:a: option
do
case "${option}"
in
b) MERGE_BRANCH=${OPTARG};;
a) ACTION=${OPTARG};;
esac
done
if "$1" = ""; then
exit
fi
echo "$1"
echo "$MERGE_BRANCH"
echo "$ACTION"
但它根本不起作用。
当试图运行这个它打印出的强制性参数,然后“ “对于可选项,如果我没有强制性地运行,它会回答”缺少强制性参数“ –
不推荐先强制性参数的原因是什么?并且我认为上次编辑时丢失了一些东西 –
@ A.Jac这只是*约定*和*个人品味的问题* –