posts - 76,  comments - 621,  trackbacks - 0

在unixshell下,写有一个shell,测字符串长度?有这样的函数吗?

如果A变量为空的话,在if中怎么表达,直接写 if [[ $A ==  ]],“==”后边我怎么表示这个空值?

 

——————————————————–
shell里面如何获取字符串长度?

len=`expr length $str`
len=`echo $str|awk ‘{print length($0)}’`

if [  X$A = X ]

——————————————————–
shell里面如何获取字符串长度?

# 判断变量是否为空
if [ -z ${A} ]; then

fi

# 得到字符串的长度
str=”hello”
echo ${str} | wc -L

——————————————————–
expr length “the string you want to get length!”

例如:输入命令:
expr length “abcd”
将得到结果 4
另外expr 还可以对字符串取substr ,index等,可以输入expr –help
查看详细用法

——————————————————–

echo ${#s}

shell里面如何获取字符串长度?
——————————————————–
“如果A变量为空的话,在if中怎么表达,直接写 if [[ $A ==  ]],“==”后边我怎么表示这个空值?”

if [ “$param” = ‘’ ];then
    command
fi

注意$param用双引号括起来,否则当为空的时候,会出错。

总结楼上各位

[size=5][size=3]计算字符串长度可用的三种方法:
echo “$str”|awk ‘{print length($0)}’
expr length “$str”
echo “$str”|wc -c
但是第三种得出的值会多1,可能是把结束符也计算在内了

判断字符串为空的方法有三种:
if [ “$str” =  “” ]
if [ x”$str” = x ]
if [ -z “$str” ]
注意:都要代双引号,否则有些命令会报错,养成好习惯吧!
可能用AWK 稳定一些

以前在用的时候,发现AWK的测试最为稳定和准确
UNIX 其它命令有时会出现误差和意外,尤其是在测试汉字串时

posted on 2008-03-11 14:11 megax 阅读(1206) 评论(0)  编辑 收藏 引用 所属分类: 原创

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理