正确检查bash中的命令行标志

前端之家收集整理的这篇文章主要介绍了正确检查bash中的命令行标志前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在脚本中间,我想检查一下给定的标志是否在命令行上传递.以下是我想要的,但似乎丑陋:
if echo $* | grep -e "--flag" -q
then
  echo ">>>> Running with flag"
else
  echo ">>>> Running without flag"
fi

有没有更好的办法?

注意:我显然不想列出switch / getopt中的所有标志. (在这种情况下,任何这样的事情将变成完整的脚本的一半或更多).如果只是设置一组vars的主体,

你正在做的替代方案:
if [[ $* == *--flag* ]]

参见BashFAQ/035.

猜你在找的Bash相关文章