我正在开发一个允许用户设置选项的shell脚本.如果用户单独指定选项,则脚本正常工作.例如:
./my_file.sh -r -l directory1 directory2
Run Code Online (Sandbox Code Playgroud)
上面的命令工作正常,但是如果用户指定以下命令,则我的脚本不起作用:
编辑:我的意思是,-l如果用户输入以下命令,则无法识别该选项
./my_file.sh -rl directory1 directory2
Run Code Online (Sandbox Code Playgroud)
这是我用来阅读选项的代码
while getopts 'lvibrd:v' flag; do
case "${flag}" in
l) option_l=true
shift ;;
v) option_v=true
shift ;;
i) option_i=true
shift ;;
b) option_b=true
shift ;;
r) option_r=true
shift ;;
d) option_d=true
shift ;;
*) echo "Invalid options ${flag}"
exit 1 ;;
esac
done
Run Code Online (Sandbox Code Playgroud)
有没有办法用多个字母读取选项,例如-rl,使用类似的代码?先感谢您.