gpt4 book ai didi

bash - 如何将 grep 的值分配给变量并与字符串连接?

转载 作者:行者123 更新时间:2023-11-29 09:24:17 30 4
gpt4 key购买 nike

我的开发机器上有几台服务器。我每个都有一个脚本来运行它们,并且我一次在几个 git 分支上工作。因此,每当我运行运行服务器的脚本时,我希望它以不同的颜色打印我试图从哪个 git 分支运行哪个服务器。

这是我拥有的,但无法正常工作。

git_branch= git branch|grep '*'|cut -c3-
echo -e "\e[1;33;40m Running API server on git branch $git_branch \e[0m"
...
REST_OF_THE_CODE_THAT_RUNS_THE_DEV_SERVER
...

它首先打印了 git 分支,并且该值似乎根本没有分配给变量。我无法弄清楚我哪里出错了

最佳答案

要将命令行的结果分配给变量,请使用反引号或 $(..) 符号。例如,假设您的命令行有效,您可以使用:

git_branch=$(git branch|grep '*'|cut -c3-)

这种表示法优于反引号,因为它更易于阅读,并且允许嵌套而无需转义:

echo $(echo foo$(echo bar))

请注意,在您的原始代码中,您的 grep 应该更具体。请记住,对于 grep,星号实际上意味着“前一个原子的零个或多个”。所以这样会更好:

git_branch=$(git branch|grep '^[*]'|cut -c3-)

关于bash - 如何将 grep 的值分配给变量并与字符串连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13696517/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com