As expressões citadas que contêm variáveis são uma melhor prática (em oposição a simplesmente ser um convenção ) em parte porque da expansão de variáveis:
Se a variável se expandir para uma string que contenha espaços em branco, por exemplo, seu código terminará gravando em um arquivo incorreto. Citando a palavra-chave heredoc afeta a expansão da variável, mas não da mesma maneira que a citação afeta as strings:
Especificamente, citando a palavra-chave heredoc impede a expansão da variável.
E, em qualquer caso, o caminho em questão não faz parte do corpo heredoc (que começa na linha após o primeiro delimitador) e, portanto, não seria afetado - ele deve ser citado de forma independente.
Observe também que (embora isso não esteja relacionado à sua pergunta) o heredoc no seu snippet de código é inválido, pois o delimitador de fechamento é recuado. Considere o seguinte trecho do Guia avançado de script de script :
The closing limit string, on the final line of a here document, must start in the first character position. There can be no leading whitespace. Trailing whitespace after the limit string likewise causes unexpected behavior. The whitespace prevents the limit string from being recognized.
A exceção a isso é o <<-
style heredocs, que ignora o recuo de tabulação e também permite que o delimitador de fechamento seja indentado por tabulação. Isso é descrito na seguinte passagem extraída do Wiki do Wooledge Bash :
If you use
<<-END
instead of<<END
as your Heredoc operator, Bash removes any tab characters in the beginning of each line of your Heredoc content before sending it to the command. That way you can still use tabs (but not spaces) to indent your Heredoc content with the rest of your code. Those tabs will not be sent to the command that receives your Heredoc. You can also use tabs to indent your sentinel string.