如何获得一个变量的长度?

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/04 02:24:14
如何获得一个变量的长度?
xTMOQ+FM(t.Lhԝ1a:R&XMĄ6T4AMQM[(_̼̿@MMsϹw8)0[vf=e/I^Ϸki'o4o?i^u<7uwLjOIUiȸVU"ͩ}~,T3H,蹂&uQG/eC#ce4=34 " $ޢU(3ʂ##CIx챡X GvcDhNM^G(eQ4,h>DA9`VX$eքcC3q?ukfq*S'vʖQpQ_>uDX-̶ӟYkEZrSMubӒ]>W疱G-pwu <ݔ.=휖dp4 VT3>Z0`ڳ7AuzX+~Y6B603[ n'!r$*`tp:;G =Z?r$ub"zW3ˀ%%^ݦ$` 2UQXy ($-Ιm!Uzx" Jh\ NaynZp3xYK hm9r&F':\oBql

如何获得一个变量的长度?
如何获得一个变量的长度?

如何获得一个变量的长度?
这样name变量的长度就读到asd变量了,但是会比实际的长度多1
echo -n Input ID (Ex. : ca0001):read STRname=$STRechoecho $name | awk '{printf(%d,length($1))}'| read length
echo $length
while [ $length != 6 ]doecho Please input ID in correct format!read STRname=$STRdoneecho succeed
length=`echo $name | awk '{printf(%d,length($1))}'`
其中`号为“1”键左边的键
# echo $name | awk '{printf(%d,length($0))}' | read asd
按照你的脚本的逻辑,如果首次输入的长度不是6是会死循环的呀.难道没有吗?应该将echoecho $name | awk '{printf(%d,length($1))}'| read length
echo $length
放到while循环体里边才是.
asd=`echo $name|awk '{printf(%d,length($1))}'`
echo 你刚输的变量长度为$asd
前面的朋友说得没错,会死循环,变量$length应该在循环里面重新赋值!
print Length is : len
echo $name |awk '{printf(%d,length($1))}' |read ad
放在循环内.
echo ${#$name}
#env $string |wc
echo ${#$name}
echo "len is $len"
strlen=` expr lenght $string `
echo $strlen
[color=Red]Sample Text[/color]
man中的例子,很经典的!