我正在尝试制作具有两个开关的脚本 -h 和 -d, -d 具有强制数字参数。之后,将有未确定数量的文件路径。到目前为止,我有这个,但代码似乎无法识别无效的开关 -r (可以是任何名称)并且当我不输入任何开关时也不起作用:
while getopts ":hd:" opt; do
case $opt in
h)
echo $usage
exit 0
;;
d)
shift 2
if [ "$OPTARG" -eq "$OPTARG" ] ; then # ako dalsi argument mame cislo
depth=$OPTARG
fi
;;
\?)
shift 1
;;
:)
shift 1
;;
esac
done
echo $1
当我输入
时,当我输入时,我只./pripravne1.sh -d /home/OS/test_pz/test2
得到空字符串。./pripravne1.sh: [: /home/OS/test_pz/test2: integer expression expected
./pripravne1.sh -r /home/OS/test_pz/test2