Bash expr命令

时间:2010-08-24 11:06:50

标签: bash expr parameter-expansion

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

感谢

2 个答案:

答案 0 :(得分:1)

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

s="TEST=true"
echo ${s%%=*}


OLDIFS="$IFS"
IFS="="
set -- $s
echo $1
IFS="$OLDIFS"

答案 1 :(得分:0)

你需要的是什么?

if [[$ input =〜(。?*)=]]

然后

    echo $BASH_REMATCH is what I wanted    

    echo but just ${BASH_REMATCH[1]} 

fi

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