就是说,现在有变量$name,我想取得其值的长度,应该怎么做?
mygod 回复于:2001-11-19 11:38:42
这样:echo $name | wc -c | read asd
这样name变量的长度就读到asd变量了,但是会比实际的长度多1
rain0216 回复于:2001-11-19 11:43:12
好的,谢谢
rain0216 回复于:2001-11-19 13:07:23
可是为什么我按照上述方法做,不能得到变量asd呢
mygod 回复于:2001-11-19 13:13:09
还有一个更好的方法:echo $name | awk '{printf("%d",length($1))} | read asd
rain0216 回复于:2001-11-19 13:21:55
仍然不能读到变量中
mygod 回复于:2001-11-19 13:28:52
不可能,我作过实验的!把你取asd的程序贴一下!
rain0216 回复于:2001-11-19 13:33:18
#!/bin/sh
echo -n "Input ID (Ex. : ca0001): "
read STR
name=$STR
echo ""
echo $name | awk '{printf("%d",length($1))}'| read length
echo $length
while [ "$length" != "6" ]
do
echo "Please input ID in correct format!"
read STR
name=$STR
done
echo "succeed"
mygod 回复于:2001-11-19 13:47:48
echo $length的结果是什么?
rain0216 回复于:2001-11-19 13:52:20
什么也没有,为一空行
mygod 回复于:2001-11-19 14:01:39
用短消息!
mygod 回复于:2001-11-19 16:47:00
换一种写法:
length=`echo $name | awk '{printf("%d",length($1))}'`
其中`号为“1”键左边的键
shuweich 回复于:2001-12-01 13:04:20
# name='Zhang lao san'
# echo $name | awk '{printf("%d",length($0))}' | read asd
# echo $asd
13
#
#
#感觉怎么样?
henry 回复于:2001-12-01 20:27:33
rain0216:
按照你的脚本的逻辑,如果首次输入的长度不是6是会死循环的呀。难道没有吗?
应该将
echo ""
echo $name | awk '{printf("%d",length($1))}'| read length
echo $length
放到while循环体里边才是。
rain0216 回复于:2001-12-10 14:55:38
不会啊,循环里面是交互的啊,只要符合条件就可以退出循环的
zho0798 回复于:2001-12-22 00:05:09
read name
asd=`echo $name|awk '{printf("%d",length($1))}'`
echo 你刚输的变量长度为$asd
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 长度 变量 一个 获得 如何 回复 name echo length quot |
注册
个人空间
