パラメータがまだ存在しない場合、その行はファイルに追加(準備)されます。

パラメータがまだ存在しない場合、その行はファイルに追加(準備)されます。

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

1行で試すことができます

$ 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 

関連情報