加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 18:52:42 所属栏目:安全 来源:网络整理
导读:在脚本中间,我想检查一下给定的标志是否在命令行上传递.以下是我想要的,但似乎丑陋: if echo $* | grep -e "--flag" -qthen echo " Running with flag"else echo " Running without flag"fi 有没有更好的办法? 注意:我显然不想列出switch / getopt中的所
在脚本中间,我想检查一下给定的标志是否在命令行上传递.以下是我想要的,但似乎丑陋:
if echo $* | grep -e "--flag" -q
then
  echo ">>>> Running with flag"
else
  echo ">>>> Running without flag"
fi

有没有更好的办法?

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

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

参见BashFAQ/035.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读