【发布时间】:2015-06-30 03:42:42
【问题描述】:
我正在写一个shell,其他人可以传递参数给它,比如:
someshell task1 task2 -Daaa=111 -Dbbb=222 task3
在shell中,我可以用$@获取所有参数,即:
task1 task2 -Daaa=111 -Dbbb=222 task3
然后我想从字符串中取出所有以-D开头的args,并制作两个字符串:
-Daaa=111 -Dbbb=222
和
task1 task2 task3
我不熟悉 bash,我现在可以做的是拆分字符串并检查每个项目,然后以某种方式将它们分组。这似乎有点复杂。
如果有任何简单的方法可以做到这一点?
【问题讨论】:
-
getopt might be able to help you. 也许这是重复的?
-
@col6y 'getopt' 不适用于我的情况。我不需要解析更多选项,只想将
-D与其他人分开 -
查看mywiki.wooledge.org/BashFAQ/035 了解处理命令行参数的一些有用方法。