【问题标题】:How to optimize this 2 lines of bash code如何优化这 2 行 bash 代码
【发布时间】:2015-09-09 08:42:52
【问题描述】:

我想使用 1 行而不是 2 行来优化 bash 代码 这是我要优化的行:

grep -E "$name" /etc/passwd
if [ $? -eq 0 ]
     #...

所以 if 将测试最后一个命令 (grep) 的退出,我想在 if 语句中合并 "grep -E "$name" /etc/passwd" 以具有如下内容:

if [ ##### -eq 0 ]

感谢您的帮助:)

【问题讨论】:

    标签: linux bash command


    【解决方案1】:

    没有如果

    grep "name" file && do_something
    

    【讨论】:

      【解决方案2】:

      可以直接在if语句中使用命令的退出码:

      if grep .... 
      then
        echo "found"
      else
        echo "not found"
      fi
      

      如果您想使 grep 命令的输出静音,您可以添加-q 选项,如果您想在第一次匹配后退出(节省大文件的时间),您可以使用-m 1

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-15
        • 2016-01-01
        • 2017-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多