【发布时间】:2022-10-02 00:01:07
【问题描述】:
嗨,我正在尝试学习 bash 脚本,我只想获取变量的字符数。我尝试使用这两种不同的方法来做到这一点,但我不明白为什么我会得到一个字符的差异?谢谢您的帮助。
字符=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"
回声 ${#chars}
echo $(echo \"$chars\" | wc -c)
26
27
-
echo附加一个换行符,除非用-n调用,因此多了一个字符
标签: bash
嗨,我正在尝试学习 bash 脚本,我只想获取变量的字符数。我尝试使用这两种不同的方法来做到这一点,但我不明白为什么我会得到一个字符的差异?谢谢您的帮助。
字符=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"
回声 ${#chars}
echo $(echo \"$chars\" | wc -c)
26
27
echo 附加一个换行符,除非用 -n 调用,因此多了一个字符
标签: bash
在括号内你写
echo "$chars" | wc -c
你要
echo -n "$chars" | wc -c
-n 抑制尾随换行符。
就目前而言,您在之后写了一个额外的字符
26 个字母,wc 忠实地计算它。
试试这个看看-n 标志的效果。
echo -n abc; echo -n def
echo uvw; echo xyz
【讨论】: