Причина в том, что echo
записывает вывод с завершающим символом новой строки.
Если вы делаете strace
, вы можете увидеть это в системном вызове write
: -
$ strace -e write echo $'\n'
write(1, "\n", 1
) = 1
write(1, "\n", 1
) = 1
В соответствии с руководством вы можете отключить это, используя переключатель -n
: -
$ strace -e write echo -n $'\n'
write(1, "\n", 1
) = 1