Bash 表达式命令

发布于 2024-09-15 22:11:54 字数 217 浏览 6 评论 0原文

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

谢谢

I am trying to make a bash shell script that can add a name value pair to a text file, for example TEST=true. I am trying to make it so if the user tries to add a name that already exists for example TEST=false it does not let them to do it. Can anyone tell me how to use the expr command to extract any text before the = character? Any help would be greatly appreciated.

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

舞袖。长 2024-09-22 22:11:54

expr 是一个外部命令。你可以使用 bash 来做到这一点

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


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

expr is an external command. you can just use bash to do it

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


OLDIFS="$IFS"
IFS="="
set -- $s
echo $1
IFS="$OLDIFS"
方圜几里 2024-09-22 22:11:54

那是你需要的吗?

if [[ $input =~ (.?*)= ]]

then

    echo $BASH_REMATCH is what I wanted    

    echo but just ${BASH_REMATCH[1]} 

fi

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

is that what you need?

if [[ $input =~ (.?*)= ]]

then

    echo $BASH_REMATCH is what I wanted    

    echo but just ${BASH_REMATCH[1]} 

fi

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文