Añade una cadena condicionalmente a commit-msg usando hooks

¿Cómo podríamos escribir un commit-msg , para agregar una cadena [XYZ] a todas las confirmaciones, excepto cuando el post de confirmación original tiene [exclude-XYZ] en alguna parte?

Soy un principiante con scripts de shell y esto es lo que he intentado sin éxito hasta ahora:

 if echo "$1" | grep "[exclude-XYZ]" then else echo "$1 [XYZ]" >> "$1" fi 

Se hace eco del nombre del file, en lugar de verificar su contenido. Pruebe algo como:

 if fgrep '[exclude-XYZ]' -- "$1" >/dev/null; then : else echo "[XYZ]" >> "$1" fi 

O, como un trazador de líneas:

 fgrep '[exclude-XYZ]' -- "$1" >/dev/null || echo '[XYZ]' >> "$1"