在bash脚本中,我正在使用命令:
branch=git branch --contains 86cf181ec0df06656e57c7787866087592
输出:
branch1 branch2 branch3
下一步我正在使用命令:
list_of_commits=$(git rev-list 86cf181ec0df06656e57c7787866087592 $branch --first-parent | tail -n 1)
但是参数$ branch必须从$ branch和full命令写成^ branch1 ^ branch2 ^ branch3:
list_of_commits=$(git rev-list 86cf181ec0df06656e57c7787866087592 ^branch1 ^branch2 ^branch3 --first-parent | tail -n 1)
如何在我的脚本中的参数$ branch中的每个输出字之前添加符号^?
答案 0 :(得分:1)
只需遍历记录并添加^
:
$ d="hello i am muzzy"
$ echo "$d" | awk '{for (i=1;i<=NF; i++) {$i="^"$i} print}'
^hello ^i ^am ^muzzy
同时awk '{for (i=1;i<=NF; i++) $i="^"$i}1' <<< "$d"
利用1
,会触发打印完整记录,并使用here-strings。
或者如果您想将其保存在新的var:
中$ new_d=$(echo "$d" | awk '{for (i=1;i<=NF; i++) {$i="^"$i} print}')
$ echo "$new_d"
^hello ^i ^am ^muzzy
在你的情况下,
branch=$(echo "$branch" | awk '{for (i=1;i<=NF; i++) {$i="^"$i} print}')
答案 1 :(得分:1)
您可以使用具有特殊参数扩展的数组:
branch=($(git branch --contains 86cf181ec0df06656e57c7787866087592))
list_of_commits=$(git rev-list 86cf181ec0df06656e57c7787866087592 "${branch[@]/#/^}" --first-parent | tail -n 1)