Se o documento aqui só deve ser adicionado se nada estiver presente, você pode usar grep :
cat <<-"EOF1" > myPath/myFile.append
content...
EOF1
if ! grep -F -q -f myPath/myFile{.append,}; then
cat myPath/myFile.append >> myPath/myFile
fi
Para entender isso, considere o seguinte.
-
grep -F -q -f myPath/myFile{.append,}é expandido pelo shell paragrep -F -q -f myPath/myFile.append myPath/myFile. -
O comando
greppesquisamyPath/myFile(o arquivo ao qual o texto deve ser adicionado, se necessário) para qualquer sequência fixa (-F) contida emmyPath/myFile.append(o arquivo que contém o texto a ser adicionado) ), lendo um padrão por linha (-f), e indica se encontra algum somente por seu código de saída , sem saída (-q). -
O resultado é então negado em
!, de modo que a%ifdo blocothenseja executada somente segrepnão encontrar nada.