shell中字符串比较和模糊比较说明
shell字符串比较说明
1 完全比较方法(完全匹配)
if [ "$soure" == "$dest" ]; then
echo "is =="
else
echo "is !="
fi
if语句中的==判断字符串是否相等:
1、使用完全匹配方式;
2、两边的双引号都是可有可无的,但当字符串为空的时候就会报错,提示unary operator expected,因此,需要加入双引号;
3、也可以使用=号,但==更合适一些,防止误解,避免误认为是在进行赋值操作。
2 模糊比较方法(正则表达式)
if [[ "$soure" == dest* ]]; then
echo "is =="
else
echo "is !="
fi
当if语句中的单中括号[]变成双中括号[[]]时,支持模糊匹配,此时:
1、模糊匹配规则不能添加双引号,否则无效,会被当做普通字符串进行比较。
2、被比较的字符串,可以加双引号,也可以不加,当字符串为空也不会报错,但是为了统一规范,防止遗漏,因此,推荐还是加入双引号。
shell中字符串比较和模糊比较说明的更多相关文章
- shell中字符串操作【转】
转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,当然shell编程也不例 ...
- Shell中字符串、数值的比较
原文:http://apps.hi.baidu.com/share/detail/31263915 在shell中字符串与数值的比较方法是不同的,要注意区分 整数比较: -eq 等于 ...
- 在shell 中字符串,文件,数字的比较
hadoop fs -test -e /path/exist ] ;then echo 'exist' else echo 'Error! path is not exist' fi 在shell中如 ...
- Shell中字符串的切割、拼接、比较、替换
[截取] 一.Linux shell 截取字符变量的前8位,有方法如下: expr substr “$a” 1 8 : 二.按指定的字符串截取 第一种方法: ${varible##*string} # ...
- Shell中字符串分割的三种方法
问题:对于’1,2,3,4,5’这样的字符串输出采用,分隔开的1 2 3 4 5 特征:在字符串中没有空格 解决方法1: #!/bin/bash var=’1,2,3,4,5’ var=${var// ...
- shell中字符串基本用法
前言 今天在写脚本时,发现前阶段使用过的一些用法还是需要去百度查找,并且找到的答案还需要自己去筛选,耽误写脚本时间,这一篇对字符串之间的比较和逻辑判断都非常详细,借鉴他人之作,资源共享. 本片主要说明 ...
- Shell 中字符串变量的赋值注意点
1. 变量赋值 语法:var="saaaa" PS: 等号两边不能有空格 2. 脚本示例如下: #!/bin/sh # Get bug activity info # usage ...
- shell中字符串截取
Linux 的字符串截取很有用.有八种方法. 假设有变量 var="User:123//321:/home/dir" 1. # 号截取,删除左边字符,保留右边字符. [root@z ...
- ubuntu下仅仅获取网卡一的ip地址 && shell中字符串拼接
问题描述: ubuntu下仅仅获取网卡一的ip地址 问题背景: eth0,eth1,eth2……代表网卡一,网卡二,网卡三…… lo代表127.0.0.1,即localhost | 问题描述: 已知字 ...
- shell中使用expect命令进行远程执行命令脚本
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚 ...
随机推荐
- 五、Spring Boot集成Spring Security之认证流程2
二.概要说明 上文已详细介绍了四.Spring Boot集成Spring Security之认证流程 本文则着重介绍用户名密码认证过滤器UsernamePasswordAuthenticationFi ...
- 云原生周刊 | 使用 K8s 可视化工具集来调试业务 | 2023-1-30
开源项目推荐 k8z k8z 意在 K8s 业务层面,提供一个方便好用的 K8s 集群可视化工具集.目前包含以下功能: 终端:连接到集群任意 Pod 容器上,方便调试 Tcpdump:对集群内容器进行 ...
- 学习JavaScript第六天
文章目录 1. JavaScript 中的垃圾回收机制(GC) 1.1 垃圾回收相关概念 ① 什么是垃圾 ② 什么是垃圾回收 ③ 垃圾没有及时回收的后果 ④ JavaScript 垃圾回收的常见算法 ...
- DRF-Parser解析器组件源码分析和应用
1. 解析器源码分析 注意:以下源码为了方便理解已进行简化,只保留了解析器相关的代码 # 视图函数: class MyView(APIView): def post(self, request): p ...
- [网鼎杯 2020 朱雀组]phpweb
打开靶机,抓包分析,获得连个关键参数func和p,根据初始页面提示了解连个参数大概是功能和功能参数 测试func=system&p=ls提示hacker..说明有检测过滤 那么我们先读取源码看 ...
- 强化学习性能指标之一:以训练的episodes数和训练所需样本数作为评价算法性能的指标
在强化学习领域,一般都是限定训练的episodes数和训练所需样本数的,也就是说在进行算法性能对比的时候各个算法都是在相同的训练的episodes数和训练所需样本数的,但是如果我们在算法得分数保持相同 ...
- duxapp放弃了redux,在duxapp中局部、全局状态的实现方案
全局状态 全局状态是一个很实用的功能,例如管理用户信息,组件间状态共享等功能都需要用到全局状态,react有很多成熟的全局状态管理工具,但是很多写起来太过麻烦,duxapp提供了几种应对不同场景的全局 ...
- IPC-7711/21D, IPC-7711D, IPC-7721D 电子组件的返工、修改和维修,验收标准。Rework, Modification and Repair of Electronic Assemblies
IPC-7711/21 - Revision D - Standard Only: Rework, Modification and Repair of Electronic Assemblies T ...
- cornerstone中raft_server源码解析
1.概述 cornerstone中核心即为raft_server的实现. 在raft里面有follower,leader,candidate三种角色,且角色身份还可以相互切换. 写三个类followe ...
- Java线程池架构2-多线程调度器
http://ifeve.com/java线程池架构2-多线程调度器(scheduledthreadpoolexecutor)/ 在前面介绍了java的多线程的基本原理信息:<Java线程池 ...