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中如 ...
随机推荐
- 匿名内部类(new类时覆盖类中方法)
public class Person { private String name ; protected String getName() { return name; } public void ...
- 台州OJ 3709: Number Maze (数组越界不报RE,报WA坑爹)
http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=3709 You are playing on ...
- HDU 5734 A - Acperience
http://acm.hdu.edu.cn/showproblem.php?pid=5734 Problem Description Deep neural networks (DNN) have s ...
- angular 学习笔记(3) ng-repeat遍历json并且给样式
视图: <div ng-app="myapp" ng-controller="myctrl"> <ul> <li ng-repea ...
- laydate 显示结束时间不小于开始时间
jsp: <div class="form-group"> <label >交易时间:</label> <input ...
- 【Java/Android性能优5】 Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强
本文转自:http://www.trinea.cn/android/android-imagecache/ 主要介绍一个支持图片自动预取.支持多种缓存算法.支持二级缓存.支持数据保存和恢复的图片缓存的 ...
- Java中对jsonArray的排序,使用的是Gson
使用Gson对json解析字符串,转化为json对象. 先上代码: 下面是main方法里面的代码 package testJava; import java.util.ArrayList; impor ...
- https验证新发现-老知识
HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier); 可以设置https全局的域名校验规则 HttpsURLConnecti ...
- 【Android开发笔记】底部菜单栏 FragmentTabHost
公司项目,需求本来是按照谷歌官方指南写的,菜单栏设计成在导航栏下方 结果呢,审评时,BOSS为了和iOS统一,改成了底部菜单栏(标准结局),我只能呵呵呵呵呵呵呵 查了查资料发现实现底部菜单栏用的是Fr ...
- [QualityCenter]设置工作流脚本-根据某字段是否包含指定字符串来判断其他字段的选值
需求:当在创建或更改值时,自动判断A字段是否包含B值,然后自动填写相应的内容. 如以下例子: 在脚本编辑器新建一个函数TestPlan_Test_New,然后编写脚本如下: '通过主题判断项目内容 ...