【问题标题】:Bash expr commandbash expr 命令
【发布时间】:2010-08-24 11:06:49
【问题描述】:

我正在尝试制作一个可以将名称值对添加到文本文件的 bash shell 脚本,例如 TEST=true。我正在尝试这样做,因此如果用户尝试添加一个已经存在的名称,例如TEST=false,它不会让他们这样做。谁能告诉我如何使用expr 命令提取= 字符之前的任何文本?任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: bash expr parameter-expansion


    【解决方案1】:

    expr 是一个外部命令。你可以使用 bash 来完成它

    s="TEST=true"
    echo ${s%%=*}
    
    
    OLDIFS="$IFS"
    IFS="="
    set -- $s
    echo $1
    IFS="$OLDIFS"
    

    【讨论】:

      【解决方案2】:

      这是你需要的吗?

      如果 [[ $input =~ (.?*)= ]]

      然后

          echo $BASH_REMATCH is what I wanted    
      
          echo but just ${BASH_REMATCH[1]} 
      

      fi

      http://aplawrence.com/Linux/bash-regex.html

      【讨论】:

        猜你喜欢
        • 2015-10-16
        • 1970-01-01
        • 2011-06-14
        • 2019-02-07
        • 1970-01-01
        • 2013-10-09
        • 2011-10-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多