shell中字符串基本用法
前言
今天在写脚本时,发现前阶段使用过的一些用法还是需要去百度查找,并且找到的答案还需要自己去筛选,耽误写脚本时间,这一篇对字符串之间的比较和逻辑判断都非常详细,借鉴他人之作,资源共享。
本片主要说明一些字符串比较中的注意事项
主要包括了字符串 相等、不等、长度、空字符串 以及逻辑与、逻辑或的内容,具体内容见下面的脚本:
- #!/bin/bash
- # test string order
- a="ss"
- b="abc"
- c="ss"
- echo "----------------------------------------------------------------------------"
- echo " test for string compare with \"!=\",\"=\",\"-z\",\"-n\",is a null str ;test string is \"$a\" and \"$b\""
- echo "----------------------------------------------------------------------------"
- echo "*************----------*********************"
- echo "-----------"
- echo "test \"=\" 等号运算,比较两个字符串相等"
- echo "-----------"
- echo "if [ \$a = \$b ]; then 用=来比较两个字符串是否相等, 注意不是==符号 ,注意语句中的空格符号一定要预留好,下面的一些语句中的空格格式和本句类似"
- if [ $a = $b ]; then
- echo "$a == $b : a = b"
- else
- echo "-----------"
- echo "test \"!=\",不等号运算,比较两个字符串不相等"
- echo "-----------"
- if [ $a != $c ]; then
- echo "$a == $c :a !=c "
- else
- echo "$a == $c : a ==c "
- fi
- fi
- echo "-----------"
- echo "test \"-z\",字符串长度为0运算,为0返回真"
- echo "-----------"
- if [ -z $a ]
- then
- echo "-z $a : 字符串长度为 0"
- else
- echo "-z $a : 字符串长度不为 0"
- fi
- echo "-----------"
- echo "test \"-n\",字符串长度不为0运算,不为0返回真"
- echo "-----------"
- if [ -n $a ]
- then
- echo "-n $a : 字符串长度不为 0"
- else
- echo "-n $a : 字符串长度为 0"
- fi
- echo "-----------"
- echo "test is a null str"
- echo "-----------"
- if [ $a ]
- then
- echo "$a : 字符串不为空"
- else
- echo "$a : 字符串为空"
- fi
- a="aaa"
- b="bbb"
- echo "----------------------------------------------------------------------------"
- echo " test string with \"&&\",\"||\";test string is \"$a\" and \"$b\""
- echo "----------------------------------------------------------------------------"
- echo "-----------"
- echo "test \"&&\",逻辑与运算"
- echo "-----------"
- if [[ $a = $a && $b = $b ]]
- then
- echo "[[ \$a = \$a && \$b = \$b ]]返回 true"
- else
- echo "[[ \$a = \$a && \$b = \$b ]]返回 false"
- fi
- echo "-----------"
- echo "test \"||\",逻辑或运算"
- echo "-----------"
- if [[ $a = $b || $b = $b ]]
- then
- echo "[[ \$a = \$b || \$b = \$b ]]返回 true"
- else
- echo "[[ \$a = \$b || \$b = \$b ]]返回 false"
- fi
- echo "*************----------*********************"
shell中字符串基本用法的更多相关文章
- (转)Shell中read的用法详解
Shell中read的用法详解 原文:http://blog.csdn.net/jerry_1126/article/details/77406500 read的常用用法如下: read -[pstn ...
- shell中字符串操作【转】
转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,当然shell编程也不例 ...
- Shell中字符串、数值的比较
原文:http://apps.hi.baidu.com/share/detail/31263915 在shell中字符串与数值的比较方法是不同的,要注意区分 整数比较: -eq 等于 ...
- shell中的EOF用法
重定位运算符 >> 是追加内容> 是覆盖原有内容 1.EOF Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止 ...
- shell 中的expect 用法
expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作 测试机上的expect目录一般在/usr/bin/expect路径 下面是从网上查询的用法总结: 1. expect中的判断语句: ...
- 转shell中的awk用法详解
awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息 调用awk: 第一种,命令行方式 ...
- shell中case的用法学习笔记
这篇文章主要为大家介绍shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码. 本文转自:http://www.jbxue.com/article ...
- shell中set的用法(转)
使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显 ...
- 在shell 中字符串,文件,数字的比较
hadoop fs -test -e /path/exist ] ;then echo 'exist' else echo 'Error! path is not exist' fi 在shell中如 ...
随机推荐
- Gdiplus的使用 gdi+
使用步骤: 1.包括相应的头文件及引入相应的lib 1 #include <GdiPlus.h> 2 #pragma comment(lib, "gdiplus.lib" ...
- 牛客假日团队赛1 J.分组
链接: https://ac.nowcoder.com/acm/contest/918/J 题意: 在Farmer John最喜欢的节日里,他想要给他的朋友们赠送一些礼物.由于他并不擅长包装礼物,他想 ...
- Ehab and subtraction(思维题)
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- windows下运行jar
run.bat 1. javaw运行 @echo offstart javaw -Xmx128m -Xms64m -jar testlog.jarexit 2.java运行 @echo offjava ...
- Shell变量赋值语句不能有空格
a = 1是错的!!!!!只有 a=1才是正确的.
- Java面向对象_常用类库api——对象比较器
概念:对两个或多个数据项进行比较,以确定他们是否相等,或确定他们之间的大小关系及排列顺序成为比较. 1.Comparable接口: 此接口强行对实现它的每个类的对象进行整体排序.这种排序被称为类的自然 ...
- 【Java】在eclipse中使用gradle进行项目构建 入门篇
##Gradle的安装与配置- Gradle 是以 Groovy 语言为基础,面向Java应用为主,基于DSL(领域特定语言)语法的自动化构建工具. 系统环境变量中添加gradle 前往官网下载Com ...
- Python3学习实例上手(1)-----模拟登录认证
要求:输入用户名.密码进行认证,认证成功则欢迎,若输错三次会锁定最后一次输入的用户 知识点归纳:字典操作(items()方法).字符串操作(如strip().split()等).文件读写(for li ...
- Elasticsearch如何安装中文分词插件ik
elasticsearch-analysis-ik 是一款中文的分词插件,支持自定义词库. 安装步骤: 1.到github网站下载源代码,网站地址为:https://github.com/medcl/ ...
- JMeter测试TCP服务器遇到的一个奇怪问题
今天工作需要测TCP服务器的压力,因为tsung测试TCP需要写的脚本实在头大,于是换了JMETER来搞压力测试.在实际测试的过程中,遇到了一个很奇怪的问题,就是发了数据包以后,JMeter不停地报5 ...