linux - getopts 命令不接受需要参数的多个选项
问题描述
我在使用 getopts 命令时遇到问题。
当我想使用需要 SAME 参数的选项时,它会在第一个需要参数的选项(例如 -i )之后停止运行程序。因此,当我希望它采用选项 -id 或 -i -d 时,它将在使用“-i”选项后停止运行 while 循环并忽略 -d 选项。
如何让循环继续并执行 -d 选项?
传递的参数的格式可以是:“-id 参数”或“-i -d 参数”
我目前正在使用 $p 来获取当前为每个选项传递的最后一个参数。这是破折号中的linux ubuntu shell:
To make the code smaller and quicker to read:
for p do :; done
echo arguments === $1 $2 $3
echo p = $p
while getopts ":hva:b:d:g:i:u:w:" opt;
do
case "$opt" in
i)
checkdir $p
fileinfo $p
;;
***OTHER OPTIONS FOLLOW SIMILAR FORMAT***
esac
done
解决方案
推荐阅读
- flutter - 如何更改 TextField 选择的颜色
- docker - 在构建期间将文件从 GCS 复制到 Cloud Run docker 容器中
- swift - 为什么 RealityKit 有如此高的脏内存占用?
- amazon-web-services - 在 AWS Lambda 中启用 Go 代码的内联编辑
- c# - 从 C# 中的 Json 对象中提取或解析值
- javascript - window.onbeforeunload 是如何被调用的?
- python - 如何判断按钮是否在 tkinter 中被抬起
- mongodb - 尽管指定了路径,但无法识别 Mongod 命令
- javascript - 无法在 ios 上的 chrome 中下载具有正确名称的文件
- c# - 每次单击按钮时如何更改按钮上的文本?