我正在尝试计算变量中存在的字符数。我使用了下面的shell命令。但我收到错误 - 第4行找不到命令
#!/bin/bash
for i in one; do
n = $i | wc -c
echo $n
done
有人可以帮助我吗?
答案 0 :(得分:1)
在bash中你可以写${#string}
,它将返回变量string
的长度,即其中的字符数。
答案 1 :(得分:0)
这样的事情:
#!/bin/bash
for i in one; do
n=$(echo $i | wc -c)
echo $n
done
答案 2 :(得分:0)
bash中的赋值在等号前不能有空格。此外,您希望捕获所运行命令的输出并将其分配给$n
,而不是将该$i
分配给$n
的语句。
请改用以下内容:
#!/bin/bash
for i in one; do
n=`$i | wc -c`
echo $n
done
答案 3 :(得分:0)
可以这么简单:
str="abcdef"; wc -c <<< "$str"
7
但是请注意,行尾是一个字符:
str="abcdef"; cat -A <<< "$str"
abcdef$
如果您需要将其删除:
str="abcdef"; tr -d '\n' <<< "$str" | wc -c
6