【发布时间】:2010-08-24 11:06:49
【问题描述】:
我正在尝试制作一个可以将名称值对添加到文本文件的 bash shell 脚本,例如 TEST=true。我正在尝试这样做,因此如果用户尝试添加一个已经存在的名称,例如TEST=false,它不会让他们这样做。谁能告诉我如何使用expr 命令提取= 字符之前的任何文本?任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: bash expr parameter-expansion
我正在尝试制作一个可以将名称值对添加到文本文件的 bash shell 脚本,例如 TEST=true。我正在尝试这样做,因此如果用户尝试添加一个已经存在的名称,例如TEST=false,它不会让他们这样做。谁能告诉我如何使用expr 命令提取= 字符之前的任何文本?任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: bash expr parameter-expansion
expr 是一个外部命令。你可以使用 bash 来完成它
s="TEST=true"
echo ${s%%=*}
OLDIFS="$IFS"
IFS="="
set -- $s
echo $1
IFS="$OLDIFS"
【讨论】:
这是你需要的吗?
如果 [[ $input =~ (.?*)= ]]
然后
echo $BASH_REMATCH is what I wanted
echo but just ${BASH_REMATCH[1]}
fi
【讨论】: