如何使用 echo 和 wc 命令查找字符串的长度

如何使用 echo 和 wc 命令查找字符串的长度

我正在尝试以下操作:

Len='echo $str | wc -c'

但我得到这个输出:

'Echo $str|wc -c'

我究竟做错了什么?

答案1

如果您喜欢使用引号进行命令替换,则必须使用反引号:`,而不是单引号:',例如。 :

Len=`echo $str | wc -c`

正如其他人提到的,您也可以使用语法len=$(...)

答案2

Len='echo $str | wc -c'

这会将变量设置Len为字符串echo $str | wc -c(它不会输出任何内容)。

shell 不会执行字符串中的任何命令,因为它不是命令替换。

要获取命令的输出,请使用命令替换$(...)

Len=$( echo "$str" | wc -c )

在这种情况下,也可以使用

Len="${#str}"

这要快得多。

参数扩展${#parameter}将扩展到 值的长度parameter

答案3

您需要将命令的输出分配给 Len 变量:

Len=$(echo "$str" | wc -c)

相关内容