我正在尝试使用getopts
编写一个简短的脚本。我希望它采用可选开关,或者只是作为默认运行。我有一个-d
开关来启用调试,我希望每个其他参数都是一个路径。理想的命令行看起来如此,路径是可选的,理论上是无限的:
$0 [-d] [/path1[ /path2[ ...]]]
我目前正在使用getopts
,如下所示:
while getopts ":d" opt; do
case $opt in
d)
DEBUG=true
;;
h)
echo USAGE: $0 \[-d\] \[\/mount\/point\/1 ...\]
exit 0
;;
\?)
echo Incorrect syntax
;;
esac
done
我可以在while getopts
部分和case
集合中添加哪些内容,以便根据需要输入路径?
答案 0 :(得分:2)
你不需要循环或getopts
调用它。 getopts
在第一个非选项停止。
在循环之后,所有路径仍将位于可供使用的位置参数中。
此外,您的h
字符串中没有getopts
,因此无效。