<< sempre inclui uma nova linha à direita (exceto por um documento vazio aqui).
Você precisa fazer o seguinte:
printf %s 'echo "bla bla"
ifcon' >> file
Ou use um comando que remova o caractere de nova linha à direita em vez de cat :
awk '{printf "%s", l $0; l=RT}' << EOF >> file
echo "blah bla"
ifcon
EOF
(ou perl -pe'chomp if eof' )
Ou, onde aqui-documentos são implementados com arquivos temporários ( bash , zsh , pdksh , AT & T ksh , Bourne, não mksh , dash nem yash ), nos sistemas GNU / Linux, você poderia fazer:
{ truncate -s-1 /dev/stdin && cat; } << EOF >> file
echo "blah bla"
ifcon
EOF