Linux Shell脚本中字符串比较表达式问题
2012-10-25 21:41
253 查看
转自:http://blog.163.com/wang_ly2442/blog/static/94943407201292592314725/
Shell脚本中字符串比较操作符常用的有:
=:比较两个字符串是否相同,相同则结果为0,否则为1;
!=:比较两个字符串是否相同,不同则结果为0;否则为1。
此操作符可用在test表达式中,也可用在条件判断语句中:
1. test表达式中
[root@qq ~]# str1=abcd
[root@qq ~]# test $str1 = abcd
[root@qq ~]# echo $?
0
[root@qq ~]# test $str1 = eabcd
[root@qq ~]# echo $?
1
2. if条件判断语句中
脚本程序如下:
str1=abc
if [ "$str1" != "abc" ]
then
echo "branch1"
else
echo "branch2"
fi
执行后输出branch2
注意:
1)str1 变量在赋值时,=左右不能加空格。但在test和if表达式中,$str1 和 = 之间以及 = 和 abcd 之间一定要加空格,否则查看结果全为0。“!=”操作符也一样。
2)= 可以写成 ==,两端也必须加空格,字符串(或变量的值)中如果没有空格可以把双引号去掉。
Shell脚本中字符串比较操作符常用的有:
=:比较两个字符串是否相同,相同则结果为0,否则为1;
!=:比较两个字符串是否相同,不同则结果为0;否则为1。
此操作符可用在test表达式中,也可用在条件判断语句中:
1. test表达式中
[root@qq ~]# str1=abcd
[root@qq ~]# test $str1 = abcd
[root@qq ~]# echo $?
0
[root@qq ~]# test $str1 = eabcd
[root@qq ~]# echo $?
1
2. if条件判断语句中
脚本程序如下:
str1=abc
if [ "$str1" != "abc" ]
then
echo "branch1"
else
echo "branch2"
fi
执行后输出branch2
注意:
1)str1 变量在赋值时,=左右不能加空格。但在test和if表达式中,$str1 和 = 之间以及 = 和 abcd 之间一定要加空格,否则查看结果全为0。“!=”操作符也一样。
2)= 可以写成 ==,两端也必须加空格,字符串(或变量的值)中如果没有空格可以把双引号去掉。
相关文章推荐
- Linux shell脚本的字符串比较与截取字符串
- shell脚本中字符串比较经常遇到的一个问题
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
- 字符串的比较以及排序问题
- linux shell 正则表达式(BREs,EREs,PREs)差异比较(转)
- c++中字符串的比较问题
- linux shell 正则表达式(BREs,EREs,PREs)差异比较
- shell 脚本学习之 字符串比较
- .net(关于字符串的相等问题[比较重要])
- Linux Shell脚本的10个有用的“面试问题和解答”
- 比较时间字符串的问题
- 正则表达式匹配不包含特定字符串解决匹配溢出问题
- 在论坛中出现的比较难的sql问题:12(递归问题2 拆分字符串)
- Linux shell中的一个问题 ${}带正则匹配的表达式
- Mysql等数据库对于版本号类型字符串的比较问题的思考
- javascript中的字符串数字比较大小的问题
- SQLite在字符串比较中的大小写问题[zz]
- Linux shell脚本的字符串截取
- 51单片机用到strcmp比较字符串问题及解决
- 作业8 问题 A: 编写函数:比较字符串 之一 (Append Code)