如何获取存储在变量中的字符串长度并将其赋值给另一个变量?
myvar="some string"
echo ${#myvar}
# 11
如何将另一个变量设置为输出11?
如何获取存储在变量中的字符串长度并将其赋值给另一个变量?
myvar="some string"
echo ${#myvar}
# 11
如何将另一个变量设置为输出11?
当前回答
你可以使用:
MYSTRING="abc123"
MYLENGTH=$(printf "%s" "$MYSTRING" | wc -c)
wc -c或wc——bytes用于字节计数= Unicode字符以2,3或更多字节计数。 wc -m或wc——chars用于字符计数= Unicode字符将单独计数,直到它们使用更多字节为止。
其他回答
使用你提供的例子
#KISS (Keep it simple stupid)
size=${#myvar}
echo $size
你可以使用:
MYSTRING="abc123"
MYLENGTH=$(printf "%s" "$MYSTRING" | wc -c)
wc -c或wc——bytes用于字节计数= Unicode字符以2,3或更多字节计数。 wc -m或wc——chars用于字符计数= Unicode字符将单独计数,直到它们使用更多字节为止。
如果你想在命令行或函数参数中使用它,请确保使用size=${#1}而不是size=${#$1}。第二个可能更符合直觉,但语法不正确。
也许只需要使用wc -c来计算字符数:
myvar="Hello, I am a string."
echo -n $myvar | wc -c
结果:
21
要获取存储在变量中的字符串长度,可以这样做:
myvar="some string"
size=${#myvar}
要确认它被正确保存,回显它:
$ echo "$size"
11