Pourquoi wc -m
compte un caractère (symbole) de plus dans here-string
(<<<)
Voici un exemple:
$ TEST_STR="askubuntu"
$ echo "$TEST_STR"
askubuntu
$ wc -m <<<"$TEST_STR"
10
Il dit 10, mais en réalité il n'y a que 9 symboles.
Le même problème apparaît pour wc -c
Parce que Bash Ici, les chaînes ajoutent un caractère de fin de ligne.
Voici la preuve:
$ TEST_STR="askubuntu"
$ echo "$TEST_STR"
askubuntu
$ od -c <<<"$TEST_STR"
0000000 a s k u b u n t u \n
0000012
En outre, il existe quelques bonnes réponses qui expliquent pourquoi le caractère de nouvelle ligne devrait être présent: