echoнапечатать перевод строки ( \n) в конце строки
echo abcd | xxd
0000000: 6162 6364 0a abcd.
С некоторыми echoреализациями вы можете использовать -n:
-n не выводить завершающий перевод строки
и проверить:
echo -n abcd | wc -c
4
С некоторыми другими вам нужна \cescape-последовательность:
\c: Подавить, <newline>что в противном случае следует за последним аргументом в выводе. Все символы, следующие за '\c'аргументами, должны игнорироваться.
echo -e 'abcd\c' | wc -c
4
Портативно, используйте printf:
printf %s abcd | wc -c
4
(обратите внимание, что wc -cподсчитывает байты, а не символы (хотя в случае abcdони обычно эквивалентны). Используется wc -mдля подсчета символов).
printfлучше чемecho?