【发布时间】:2018-03-13 07:02:43
【问题描述】:
您好,我有一个基本问题,但我找不到合适的答案
我有这个代码:
while getopts :weco:r:u:hP: ARG; do
case $ARG in
.
.
.
h) #set option "h" - show help;
help
;;
P) #set option "P" - select Printer;
PRINTER=$OPTARG
;;
\?) #unrecognized option - show help
echo -e \\n"Option not recognized."
help
;;
esac
done
现在我想使用“-P”两次,如果你使用“-P PRINTER”,它会使用给定的打印机,但如果你只使用“-P”,它会使用从文件中读取的默认值。
我可以这样管理吗?抱歉,如果这是正确答案,我现在无法测试。
while getopts :weco:r:u:hP:P ARG; do
case $ARG in
.
.
.
h) #set option "h" - show help;
help
;;
P) #set option to use default
PRINTER=BLAFOO
P) #set option "P" - select Printer;
PRINTER=$OPTARG
;;
\?) #unrecognized option - show help
echo -e \\n"Option not recognized."
help
;;
esac
done
【问题讨论】:
-
我认为这个答案会对您有所帮助stackoverflow.com/a/21709328/2088135 - 您可以在
getopts循环之前或if块内设置默认值。
标签: bash shell printing getopts