0

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

谢谢

4

2 回答 2

1

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

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


OLDIFS="$IFS"
IFS="="
set -- $s
echo $1
IFS="$OLDIFS"
于 2010-08-24T11:25:31.120 回答
0

那是你需要的吗?

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

然后

    echo $BASH_REMATCH is what I wanted    

    echo but just ${BASH_REMATCH[1]} 

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

于 2010-08-24T11:16:27.690 回答