【发布时间】:2011-02-20 12:45:26
【问题描述】:
我有一个使用一些变量的 bash 脚本(称它们为 $foo 和 $bar)。现在脚本在顶部用硬编码值定义它们,如下所示:
foo=fooDefault
bar=barDefault
....
# use $foo and $bar
我想要的是能够像以下任何一个一样使用脚本:
myscript # use all defaults
myscript -foo=altFoo # use default bar
myscript -bar=altBar # use default foo
myscript -bar=altBar -foo=altFoo
一个理想的解决方案是让我只列出我想要检查标志的变量。
有没有相当不错的方法来做到这一点?
我见过getopt,我认为它可能完成我正在寻找的 70% 的工作,但我想知道是否有一种工具或铟建立在它之上或类似的东西可以得到其余的。
【问题讨论】:
-
getopts 是迄今为止我发现的最好的。这有点特殊,但很适合我的需求。
-
你检查stackoverflow.com/questions/402377/…了吗?看起来和你需要的很相似
-
@bobah:非常相关,实际上可能是我正在寻找的构建块,但我正在寻找更专业的东西。另外,我正在寻找一种剪切粘贴的解决方案,因为我现在所拥有的已经足够好了。
标签: bash command-line-arguments