问题脚本
testcmd.ksh
#!/usr/bin/ksh
while getopts "d: m s z a b " opt; do
echo $opt
case $opt in
d ) echo "d" ;;
m ) echo "mail";;
s ) echo "snmp";;
z ) echo "force:";;
a ) echo "fs";;
b ) echo "bypass";;
? ) echo "Usage: [-m] [-s] [-z] ";
exit 4 ;;
esac
done
如果我将上述脚本作为“ ./testcmd.ksh -a”运行,它将给出
./testcmd.ksh: -a: unknown option
?
Usage: [-m] [-s] [-z]
我期望的输出是这样的
a
fs
可能是什么问题?
如果我将shebang更改为“#!/ usr / bin / bash”,则它将按预期工作。
但是,我只能使用“#!/ usr / bin / ksh”。
我应该做些什么改变?我正在使用CentO7。
有人可以建议吗?