shell =~ 引发的思考
=~不是按位取反
1.[[]]
if [[]]中引用变量不用加 双引号(")了,而if[]中变量必须加双引号,如if[ -n "$test" ],不然一些特殊的地方,会出现问题
在[[中"<"与">"不需转义;
2.=~
支持字符串的模式匹配(使用=~操作符时甚至支持shell的正则表达式)
判断子字符串包含关系: =~
栗子:
a1="ithomer"
a2="ithomer.net"
a3="blog.ithomer.net" if [[ "$a3" =~ "$a1" ]]; then
echo "$a1是$a3的子串!"
else
echo "$a1不是$a3的子串!"
fi if [[ "$a3" =~ "$a2" ]];then
echo "$a2是$a3的子串!"
else
echo "$a2不是$a3的子串!"
fi
匹配IP地址的测试:
if [[ "$newip" =~ ^([-]{,}.){}[-]{,}$ ]];then
....
fi
^([0-9]{1,3}.){3}[0-9]{1,3}$
([0-9]{1,3}.)开头
连续1-3个[0-9]字符 在[[]]内{1,3}不需要转义
后面那个.是ip分隔符,重复三次,最后连续1-3个[0-9]字符结尾
ltp-ddt
blk_device_dd_readwrite_test.sh
if [[ "$DEV_NODE" =~ "mmc" ]]; then
do_cmd printout_mmc_ios
fi
shell =~ 引发的思考的更多相关文章
- 由SecureCRT引发的思考和学习
由SecureCRT引发的思考和学习 http://mp.weixin.qq.com/s?__biz=MzAxOTAzMDEwMA==&mid=2652500597&idx=1& ...
- Spring之LoadTimeWeaver——一个需求引发的思考---转
原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver——一个需求引 ...
- 解决一道leetcode算法题的曲折过程及引发的思考
写在前面 本题实际解题过程是 从 40秒 --> 24秒 -->1.5秒 --> 715ms --> 320ms --> 48ms --> 36ms --> ...
- 【思考】由安装zabbix至排障php一系列引发的思考
[思考]由安装zabbix至排障php一系列引发的思考 linux的知识点林立众多,很有可能你在排查一个故障的时候就得用到另一门技术的知识: 由于linux本身的应用依赖的库和其它环境环环相扣,但又没 ...
- 由<a href = "#" > 引发的思考
原文:由<a href = "#" > 引发的思考 前阵子在一个移动项目中,通过 <a href = "#" > 的方式 绑定clic ...
- 曲演杂坛--一条DELETE引发的思考
原文:曲演杂坛--一条DELETE引发的思考 场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: CREATE TABLE TB001 ( ID ,) PRIMARY KEY, D ...
- class_copyIvarList方法获取实例变量问题引发的思考
在runtime.h中,你可以通过其中的一个方法来获取实例变量,那就是class_copyIvarList方法,具体的实现如下: - (NSArray *)ivarArray:(Class)cls { ...
- 由一个emoji引发的思考
由一个emoji引发的思考 从毕业以来,基本就一直在做移动端,但是一直就关于移动端的开发,各种适配问题的解决,在日常搬砖中处理了就过了,也没有把东西都沉淀下来,觉得甚是寒颜.现就一个小bug,让我们来 ...
- 一次composer错误使用引发的思考
一次composer错误使用引发的思考 这个思考源自于一个事故.让我对版本依赖重新思考了一下. 事故现象 一个线上的管理后台,一个使用laravel搭建的管理后台,之前在线上跑的好好的,今天comop ...
随机推荐
- logging日志模块的使用
logging日志模块的使用 logging模块中有5个日志级别: debug 10 info 20 warning 30 error 40 critical 50 通常使用日志模块,是用字典进行配置 ...
- Centos7下ups监控apcupsd的使用
什么是UPS UPS-Uninterrupted Power System:利用电池化学能作为后备能量,在市电断电等电网故障时,不间断地为用户设备提供(交流)电能的一种能量转换装置. UPS的主要功能 ...
- 拖拽控件java版
Button vv = new Button("vvvv"); DragSource.getDefaultDragSource().createDefaultDragGestur ...
- statement对象与sql语句(新手)
本篇介绍读上篇代码中的疑惑点 实现简单网页上对数据内容进行增删改查,需要用到三个部分:jsp网页前端部分+java后台程序+数据库表 一.创建一个Statement (用于在已经建立数据库连接的基础上 ...
- 正则表达式识别js跳转的链接
用Webclient访问链接后返回了跳转页面,页面代码如下,需要把 http://kd.szty56.com:8086/xms/client/order_online!print.action?use ...
- (已解决)#warning:尚未配置[微信]URL Scheme:wx4868b35061f87884, 无法使用进行授权。
#warning:尚未配置[微信]URL Scheme:wx4868b35061f87884, 无法使用进行授权. (说白了就是注册白名单) ” -canOpenURL: failed for URL ...
- Mysql修改字段类型,修改字段名
mysql修改字段名: ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型; 参考:https://blog.csdn.net/u010002184/article/detai ...
- JAVA_Stream_练习
package airycode_java8.nice7; import airycode_java8.nice1.Employee; import org.junit.Test; import ja ...
- LeetCode8.字符串转整数(atoi)
题目链接:https://leetcode-cn.com/problems/string-to-integer-atoi/ 实现 atoi,将字符串转为整数. 该函数首先根据需要丢弃任意多的空格字符, ...
- jQuery-切换效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...