【发布时间】:2021-08-25 04:24:57
【问题描述】:
echo $SHELL
/bin/bash
echo $SHELL | wc -c
10
echo ${#SHELL}
9
$SHELL(如/bin/bash)中的字符数是9,为什么使用wc -c时结果是10?
【问题讨论】:
-
这是一个重复的问题,但这个问题有另一个问题没有的细微差别。
-
@BenWhaley 但是答案不可能添加任何新内容
-
细微差别在于
${#SHELL}是shell expansion。由于echo尚未实际运行,因此扩展执行不带换行符的字符计数。所以echo ${#SHELL}实际上会转换为echo 9,并带有一个尾随换行符。 -
@BenWhaley 同意。 Q比链接的要好得多。随意添加答案
-
@disney82231 :您可以通过将
wc -c替换为xxd....来找到它。