echoimprimir nova linha ( \n) no final da linha
echo abcd | xxd
0000000: 6162 6364 0a abcd.
Com algumas echoimplementações, você pode usar -n:
-n não produza a nova linha à direita
e teste:
echo -n abcd | wc -c
4
Com alguns outros, você precisa da \csequência de escape:
\c: Suprima o <newline>que segue o argumento final na saída. Todos os caracteres que seguem '\c'os argumentos devem ser ignorados.
echo -e 'abcd\c' | wc -c
4
Portably, use printf:
printf %s abcd | wc -c
4
(observe que wc -cconta bytes, não caracteres (embora abcd, geralmente, sejam equivalentes). Use wc -mpara contar caracteres).
printfmelhor queecho?