https://unix.stackexchange.com/questions/65803/why-is-printf-better-than-echo Большая развёрнутая подборка того, как отличается поведение echo в разных ОС, в зависимости от входных данных. Если коротко, то echo точно работает только с данными чётко и явно контролируемыми программистом (echo foo), но не получаемыми извне (echo $foo).