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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 08:27:37
如何获得一个变量的长度?
xTMOQ+FM(t.Lhԝ1a:R&XMĄ6T4AMQM[(_̼̿@MMν{Ϲo8)0[vf=e/I^Ϸki'o4o?i^u<7uwLjO¤ժ4FULK8zIE] 4r3&>?2aQF3SNˠN:+% ZD營(VYJ"FvBD1bDhNM^G(ҝ- )iX|\市YmbQ0Y ?yi֯C$_3T: 7V_7b9̨# 8jfl΀Z+ҕCjZƮ΂:=x0ЬoĸloW LvShsZʒ (X Rwhc& ֞ Ь3e'e*d;{.}h)G9nݽҸ9Ag"/<#E֏Iݺ9I1mP-?I2iO [wHHK4   !j̿@ף0+ţq-8i1£s,%&*@jȑ716

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

如何获得一个变量的长度?
这样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中的例子,很经典的!