Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 命令对变量中存在的字符进行计数_Linux - Fatal编程技术网

Linux 命令对变量中存在的字符进行计数

Linux 命令对变量中存在的字符进行计数,linux,Linux,我试图计算变量中存在的字符数。我使用了下面的shell命令。但我得到了错误-在第4行中找不到命令 #!/bin/bash for i in one; do n = $i | wc -c echo $n done 有人能帮我吗?类似这样的事情: #!/bin/bash for i in one; do n=$(echo $i | wc -c) echo $n done bash中的赋值在等号之前不能有空格。此外,您希望捕获运行的命令的输出并将其分配给$n,而不是只将$i分配给$n的语句 请

我试图计算变量中存在的字符数。我使用了下面的shell命令。但我得到了错误-在第4行中找不到命令

#!/bin/bash

for i in one; do
n = $i | wc -c
echo $n
done
有人能帮我吗?

类似这样的事情:

#!/bin/bash

for i in one; do
n=$(echo $i | wc -c)
echo $n
done

bash中的赋值在等号之前不能有空格。此外,您希望捕获运行的命令的输出并将其分配给
$n
,而不是只将
$i
分配给
$n
的语句

请改用以下方法:

#!/bin/bash

for i in one; do
n=`$i | wc -c`
echo $n
done

在bash中,您只需编写
${#string}
,它将返回变量
string
的长度,即其中的字符数。

可以简单到:

str="abcdef"; wc -c <<< "$str"
7
str=“abcdef”;碳化钨
str="abcdef";  cat -A <<< "$str"
abcdef$
str="abcdef"; tr -d '\n' <<< "$str" |  wc -c
6