我正在尝试编写一个使用getopts
来获取命令行选项的Korn shell脚本。我正在使用的书中给出的示例给出了使用getopts
的说明:
#!/bin/ksh
a="not selected"
b="not selected"
b_arg="not selected"
c="not selected"
c_arg="not selected"
d="not selected"
while getopts "ab#c:d" optchar ; do
case ${optchar} in
a) a="selected"
;; # the ;; marks the end of this case
b) b="selected"
b_arg=${OPTARG}
;;
\?) echo "error message goes here"
exit 1
;;
esac
done
我正在尝试编写一个Korn shell脚本,该脚本包含-c
,-l
,-p
,-r
和-f
,但是当我更改循环到
c="not selected"
l="not selected"
p_arg="not selected"
p="not selected"
r_arg="not selected"
r="not selected"
f="not selected"
while getopts "clp#r:f" optchar ; do
case ${optchar} in
c) c="selected"
;; # the ;; marks the end of this case
我收到错误,指出"第13行的语法错误:'""但如果我只是更改了字符串中的变量,我就不明白这会导致语法错误。感谢您指出正确方向的任何帮助或解释!
答案 0 :(得分:1)
while getopts "ab#c:d" optchar ; do
#角色在那里做什么?应该是:
while getopts "ab:c:d" optchar ; do