A="$1"
B="$2"
  
#判断字符串是否相等
if [ "$A" = "$B" ];then
echo "[ = ]"
fi
  
#判断字符串是否相等,与上面的=等价
if [ "$A" == "$B" ];then
echo "[ == ]"
fi
  
#注意:==的功能在[[]]和[]中的行为是不同的,如下
  
#如果$a以”a”开头(模式匹配)那么将为true 
if [[ "$A" == a* ]];then
echo "[[ ==a* ]]"
fi
  
#如果$a等于a*(字符匹配),那么结果为true
if [[ "$A" == "a*" ]];then
echo "==/"a*/""
fi
  
  
#File globbing(通配) 和word splitting将会发生, 此时的a*会自动匹配到对应的当前以a开头的文件
#如在当前的目录中有个文件:add_crontab.sh,则下面会输出ok
#if [ "add_crontab.sh" == a* ];then 
#echo "ok"
#fi
if [ "$A" == a* ];then
echo "[ ==a* ]"
fi
  
#如果$a等于a*(字符匹配),那么结果为true
if [ "$A" == "a*" ];then
echo "==/"a*/""
fi
  
#字符串不相等
if [ "$A" != "$B" ];then
echo "[ != ]"
fi
  
#字符串不相等
if [[ "$A" != "$B" ]];then
echo "[[ != ]]"
fi
  
#字符串不为空,长度不为0
if [ -n "$A" ];then
echo "[ -n ]"
fi
  
#字符串为空.就是长度为0.
if [ -z "$A" ];then
echo "[ -z ]"
fi
  
#需要转义<,否则认为是一个重定向符号
if [ $A /< $B ];then
echo "[ < ]"  
fi
  
if [[ $A < $B ]];then
echo "[[ < ]]"  
fi
  
#需要转义>,否则认为是一个重定向符号
if [ $A /> $B ];then
echo "[ > ]"  
fi
  
if [[ $A > $B ]];then
echo "[[ > ]]"  
fi

linux下字符串的比较方式的更多相关文章

  1. linux下socket connect 阻塞方式 阻塞时间控制

    同事今天问我,如何在linux下的c代码里面控制connect的阻塞时间.应用的背景是:linux下的c程序有两个目标IP需要connect,如果用阻塞方式,当其中一个IP不能连接的情况下,程序将阻塞 ...

  2. [Shell]sed命令在MAC和Linux下的不同使用方式

    ---------------------------------------------------------------------------------------------------- ...

  3. linux下配置环境变量方式

    linux下配置环境变量有多种方式,下面简述之 方式1.编辑 /etc/profile 文件,增加如下内容 JAVA_HOME=/usr/local/jdk1. export JAVA_HOME PA ...

  4. Linux下软件常见安装方式

    pasting  分类: Linux2007-12-08 16:31 1909人阅读 评论(0) 收藏 举报 linuxredhat脚本文档managerfile        Linux下软件安装主 ...

  5. .netcore在linux下使用P/invoke方式调用linux动态库

    http://www.mamicode.com/info-detail-2358309.html   .netcore下已经实现了通过p/invoke方式调用linux的动态链接库(*.so)文件 1 ...

  6. Wildfly在Linux下以Service的方式启动 配置步骤

    1.前提介绍 在目前项目中使用Wildfly9在linux下部署项目,经常会通过远程的SSH来启动关闭服务.但是通过SHH启动 standalone.sh 的服务,如果关闭窗口服务就会被停掉.所以就想 ...

  7. linux下文件夹归置方式

    /bin:二进制可执行命令./dev:设备特殊文件./etc:系统管理和配置文件./etc/rc.d:启动的配 置文件和脚本./home:用户主目录的基点,比如用户user的主目录就是/home/us ...

  8. Linux下源码安装方式安装MySQL

    1.下载安装包:https://downloads.mysql.com/archives/community/  2.安装开发工具和安装包 因为要把源码编译成二进制数据,所以必须要有编译器和解释器 g ...

  9. Linux下安装JDK多种方式

    一.环境说明: 操作系统:Linux xx- -.el6.x86_64 # SMP Thu Jul :: UTC x86_64 x86_64 x86_64 GNU/Linux jdk版本:java-- ...

随机推荐

  1. 更新上篇文章 调用三级目录文章内容 dede频道页实现三级栏目嵌套调用文章

    原文:http://www.wuaie.com/?p=66 源码改写 $typeid = $row['id']; if((class_exists('PartView'))) { $pv = new ...

  2. 【C#】教你纯手工用C#实现SSH协议作为GIT服务端

    SSH(Secure Shell)是一种工作在应用层和传输层上的安全协议,能在非安全通道上建立安全通道.提供身份认证.密钥更新.数据校验.通道复用等功能,同时具有良好的可扩展性.本文从SSH的架构开始 ...

  3. webmin安装简介

    webmin安装简介 Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作.目前Webmin支持绝大多数的Unix系统,这 ...

  4. c#数据类型 与sql的对应关系 以及 取值范围

    Short Name .NET Class Type Width Range (bits) SQL Datatype (Closest Match) Constraint to use (if nee ...

  5. 基于Hadoop开发网络云盘系统架构设计方案第一稿

    引言 云计算技术的发展,各种网络云盘技术如雨后春笋,层出不穷,百度.新浪.网易都推出了自己的云盘系统,本文基于开源框架Hadoop设计实现了一套自己的网络云盘系统,方案为初步设计方案,不断完善中. 一 ...

  6. 【ActiveMQ入门-9】ActiveMQ学习-与Spring集成2

    概述: 下面将介绍如何在Spring下集成ActiveMQ. 消费者:同步接收: 目的地:Queue 环境: 共5个文件 Receiver.java ReceiverTest.java Sender. ...

  7. java操作Excel之POI(1)

    一.新建工作簿.sheet.单元格 public static void main(String[] args) throws Exception { Workbook wb = new HSSFWo ...

  8. -Java-Runoob-高级教程-实例-数组:09. Java 实例 – 数组扩容

    ylbtech-Java-Runoob-高级教程-实例-数组:09. Java 实例 – 数组扩容 1.返回顶部 1. Java 实例 - 数组扩容  Java 实例 以下实例演示了如何在数组初始化后 ...

  9. ESXI服务器的四个网口负载均衡

    什么是NIC Team(负载均衡) NIC Team其实就是将多个物理网卡同时分配到相同的端口/端口组,目的是为了实现带宽聚合,负载均衡以及故障转移 配置NIC Team 一.选择一台ESXi主机,打 ...

  10. 通过优化在UE4中实现良好性能和高质量视觉效果

    转自:http://gad.qq.com/program/translateview/7160166 译者:赵菁菁(轩语轩缘)  审校:李笑达(DDBC4747) 对于任何追求UE4性能最佳.同时又想 ...