shell脚本之字符串运算的使用】的更多相关文章

字符串运算符 下表列出了常用的字符串运算符,假定变量 a 为 "abc",变量 b 为 "efg": 运算符 说明 举例 = 检测两个字符串是否相等,相等返回 true. [ $a = $b ] 返回 false. != 检测两个字符串是否相等,不相等返回 true. [ $a != $b ] 返回 true. -z 检测字符串长度是否为0,为0返回 true. [ -z $a ] 返回 false. -n 检测字符串长度是否为0,不为0返回 true. [ -n…
最近发现使用  -z   和  -n  来判断字符串判空,或不空时,很不靠谱. 使用下面的方法最可靠: if [ "x${value}" == "x" ]              #为空 then #为空处理 fi if [ "x${value}" != "x" ]               #不为空 then #不为空处理 fi 转自 Shell脚本中字符串判空:使用-z 字符串长度为0时,为真,-n字符串长度不为0,为…
SHELL脚本编程-字符串处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符串切片 [root@node101.yinzhengjie.org.cn ~]# echo {A..Z} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# echo {A..Z}|tr -d…
简介 昨天在通过shell脚本实现一个功能的时候,由于对shell处理字符串的方法有些不熟悉导致花了不少时间也犯了很多错误,因此将昨日的一些错误记录下来,避免以后再犯. 字符串的定义与赋值 # 定义STR1变量,值为abc STR1 = "abc"(错误写法) STR1="abc"(正确写法) 在编写java代码时会考虑到格式化,往往变量定义时会有一些空格或者换行符等,因此在写shell脚本时也就顺手这么写了,在运行时就会报错:"command not f…
昨天在定位一个bug的时候,需要些shell脚本,用到了字符串的比较,出了一个小问题,就搜索总结了一下. 第一种方法:-eq 对比字符串是否相等,我首先想到的就是 -eq,然而打印的结果不正确.各种echo后,就是字符串对比那里不对,我以为我记错了,还专门看了我记得笔记: , 没错啊,就是-eq啊,括号格式的也都对,但是为什么结果不对呢,百度了一下,才明白怎么回事,原来是-eq只支持整数的比较,而我比较的是字符串,当然不行了. 第二种方法: = 这个就通用了,不管是字符串.整数.小数,都可以比较…
shell脚本的return只能返回数值类型,可是我们很多时候想返回字符串 #!/bin/sh function getStr () { String="very good" echo $String } str=$(getStr) echo $str 结果: very good…
在shell脚本里,将字符串转ASCII码的方法: [keysystem@localhost ~]$ printf "%d" "'A" [keysystem@localhost ~]$ printf "%d" "'0" 在shell脚本里,将字符串转10进制转16进制的方法: [keysystem@localhost ~]$ printf a printf更多用法参考:http://man.linuxde.net/printf…
数值运算 整数运算[三种,随便掌握一种即可]expr 数字 运算符 数字 [root@ceshiji ~]# expr 1 + 1(运算符号都是+ - * / 注:*需要\*.%是取余,余数只有0 1 2)2[root@ceshiji ~]# expr 45 \* 145 echo$[数字 运算符 数字][root@ceshiji ~]# echo $[89*89+454848*874851]397924235569 leti++ == i=i+1i+=2 == i=i+2i*=2 == i=i…
1.字符串测试操作符 字符串测试操作符的作用有:比较两个字符串是否相同.字符串的长度是否为零,字符串是否为NULL(注:bash区分零长度字符串和空字符串等) 下表为常用字符串操作符 也可以通过man test查看字符串测试操作符 字符串测试操作符提示: (1)-n比较字符串长度是否不为零,如果不为零则为真,如:[ -n "$myvar" ] (2)-z比较字符串长度是否等于零,如果等于零则为真,如:[ -z "$myvar" ] 特别注意:对于以上表格中的字符串测…
转自:http://blog.csdn.net/linfeng999/article/details/6661233 1. 构造字符串 直接构造 STR_ZERO=hello #shell中等号左右的空格不能随便加,如果写作STR_ZERO = hello,linux会认为STR_ZERO是一个命令而执行出错 STR_FIRST="i am a string" STR_SECOND='success' USER_NAME='world' 重复多次 #repeat the first p…