为什么从(<<<)wc -m
多算一个字符(符号)here-string
以下是示例:
$ TEST_STR="askubuntu"
$ echo "$TEST_STR"
askubuntu
$ wc -m <<<"$TEST_STR"
10
虽然说是 10,但实际上只有 9 个符号。
同样的问题也出现在wc -c
答案1
因为 Bash这里的字符串添加尾随换行符。
以下是证明:
$ TEST_STR="askubuntu"
$ echo "$TEST_STR"
askubuntu
$ od -c <<<"$TEST_STR"
0000000 a s k u b u n t u \n
0000012
此外,还有一些很好的答案解释了为什么应该有换行符: