【发布时间】:2019-02-04 12:32:52
【问题描述】:
我有一个脚本,我想以三种方式运行:
- 没有标志 --
./script.sh - 有标志但没有参数 --
./script.sh -u - 带有带参数的标志 --
./script.sh -u username
有没有办法做到这一点?
在阅读了一些指南(例如 here 和 here)之后,这似乎不太可能,特别是如果我想使用 getopts。
我可以使用getopts 执行此操作,还是需要以另一种方式解析我的选项?如果可以的话,我的目标是继续使用getopts。
【问题讨论】:
-
@CharlesDuffy 我相信 OP 是在谈论可选的 参数,而不是标志。我认为
getopts是不可能的。 -
选项参数,而不是位置参数,然后呢? 那更有意义。也就是说,BashFAQ #35(在问题中链接!)确实显示了一种支持它们使用的(非
getopts-based)方法。 -
如果我的问题不是很明显,我应该改写它吗?
-
当然。其实我有误会,所以如果你不介意的话,我可能会尝试自己改写一下......
-
@CharlesDuffy 去吧。