매개변수가 아직 존재하지 않으면 해당 행이 파일에 추가(준비)됩니다.

매개변수가 아직 존재하지 않으면 해당 행이 파일에 추가(준비)됩니다.

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 

관련 정보