我需要external_url 'https://ci.$domain.com'
在文件前面添加一个参数/opt/gitlab/config/gitlab.rb
。
我将这样开始:
sed -i -e "external_url 'https://ci.$domain.de'" -e "wq" /opt/gitlab/config/gitlab.rb
但我还需要检查该参数是否已存在于文件中以避免多次输入。
答案1
和grep+sed和壳逻辑||
运算符:
p="external_url 'https://ci.$domain.com'"
grep "$p" /opt/gitlab/config/gitlab.rb || sed -i "1i $p" /opt/gitlab/config/gitlab.rb
答案2
检查文件中是否存在链接:
link="external_url 'https://ci.$domain.de'"
if grep -Fxq "$link" /opt/gitlab/config/gitlab.rb ; then
echo $link already exists
else
<command to insert the link>
fi
答案3
你可以尝试用单线
$ for i in ${arrayName[@]}; do if grep "$i" /opt/gitlab/config/gitlab.rb > /dev/null; then continue; else sed -i '1i $i' /opt/gitlab/config/gitlab.rb; fi; done