shell脚本之字符串运算的使用
字符串运算符
下表列出了常用的字符串运算符,假定变量 a 为 "abc",变量 b 为 "efg":
运算符 | 说明 | 举例 |
---|---|---|
= | 检测两个字符串是否相等,相等返回 true。 | [ $a = $b ] 返回 false。 |
!= | 检测两个字符串是否相等,不相等返回 true。 | [ $a != $b ] 返回 true。 |
-z | 检测字符串长度是否为0,为0返回 true。 | [ -z $a ] 返回 false。 |
-n | 检测字符串长度是否为0,不为0返回 true。 | [ -n $a ] 返回 true。 |
str | 检测字符串是否为空,不为空返回 true。 | [ $a ] 返回 true。 |
实例
字符串运算符实例如下:
- #!/bin/bash
- echo "----------------字符串的比较和使用---------------------"
- url=http://www.daokr.com fromurl=http://www.cnblogs.com
- url2=
- echo "url=$url fromurl=$fromurl"
- if [ $url = http://www.daokr.com ]
- then
- echo "url 等于 http://www.daokr.com"
- fi
- if [ $fromurl != http://www.daokr.com ]
- then
- echo "fromurl 不等于 http://www.daokr.com"
- fi
- #检查字符串url2的长度是否为0 zero
- if [ -z $url2 ]
- then
- echo " url2的长度是0"
- else
- echo " url2的长度不为0 url2长度是:${#url2}"
- fi
- if [ $url2 ]
- then
- echo "url2 不为空"
- fi
- if [ -n $u ]
- then
- echo "长度不为0"
- else
- echo "长度为0"
- fi
shell脚本之字符串运算的使用的更多相关文章
- Shell脚本中字符串判空:使用-z 字符串长度为0时,为真,-n字符串长度不为0,为真。这两个都不靠谱【转】
最近发现使用 -z 和 -n 来判断字符串判空,或不空时,很不靠谱. 使用下面的方法最可靠: if [ "x${value}" == "x" ] ...
- SHELL脚本编程-字符串处理
SHELL脚本编程-字符串处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符串切片 [root@node101.yinzhengjie.org.cn ~]# echo { ...
- shell脚本中字符串的常见操作及"command not found"报错处理(附源码)
简介 昨天在通过shell脚本实现一个功能的时候,由于对shell处理字符串的方法有些不熟悉导致花了不少时间也犯了很多错误,因此将昨日的一些错误记录下来,避免以后再犯. 字符串的定义与赋值 # 定义S ...
- shell脚本比较字符串相等
昨天在定位一个bug的时候,需要些shell脚本,用到了字符串的比较,出了一个小问题,就搜索总结了一下. 第一种方法:-eq 对比字符串是否相等,我首先想到的就是 -eq,然而打印的结果不正确.各种e ...
- shell脚本返回字符串
shell脚本的return只能返回数值类型,可是我们很多时候想返回字符串 #!/bin/sh function getStr () { String="very good" ec ...
- Linux上shell脚本,字符串转ASCII码
在shell脚本里,将字符串转ASCII码的方法: [keysystem@localhost ~]$ printf "%d" "'A" [keysystem@l ...
- shell脚本基础 数值运算 判断 及if语句
数值运算 整数运算[三种,随便掌握一种即可]expr 数字 运算符 数字 [root@ceshiji ~]# expr 1 + 1(运算符号都是+ - * / 注:*需要\*.%是取余,余数只有0 1 ...
- shell脚本之字符串测试表达式
1.字符串测试操作符 字符串测试操作符的作用有:比较两个字符串是否相同.字符串的长度是否为零,字符串是否为NULL(注:bash区分零长度字符串和空字符串等) 下表为常用字符串操作符 也可以通过man ...
- 【转】shell脚本处理字符串的常用方法
转自:http://blog.csdn.net/linfeng999/article/details/6661233 1. 构造字符串 直接构造 STR_ZERO=hello #shell中等号左右的 ...
随机推荐
- response letter
1.Firstly, we would like to thank you for your kind letter and for reviewers’ constructive commentsc ...
- SpringBoot项目启动不走内嵌容器
一.问题 springboot项目java -jar启动不走内嵌容器,如下图,可以看到是直接走系统环境变量里配置的tomcat容器了 二.分析 我的pom.xml文件关键依赖: <depende ...
- [UOJ #140]【UER #4】被粉碎的数字
题目大意:定义$f(x)$为数字$x$每一位数字的和,求$\sum\limits_{i=1}^R[f(x)=f(kx)]$.$R\leqslant10^{18},k\leqslant10^3$ 题解: ...
- c# 基于委托的异步编程模型(APM)测试用例
很多时候,我们需要程序在执行某个操作完成时,我们能够知道,以便进行下一步操作. 但是在使用原生线程或者线程池进行异步编程,没有一个内建的机制让你知道操作什么时候完成,为了克服这些限制,基于委托的异步编 ...
- C# HtmlAgilityPack爬取静态页面
最近对爬虫很感兴趣,稍微研究了一下,利用HtmlAgilityPack制作了一个十分简单的爬虫,这个简易爬虫只能获取静态页面的Html HtmlAgilityPack简介 HtmlAgilityPac ...
- python超链接抓取工具
python实现自动抓取某站点内所有超链接 (仅供学习使用) 代码部分 #!/usr/bin/python import requests import time import re import s ...
- ASPxClientGridView(客户端选择某一行的值的调用)
- Windows10 安装VirtualBox出现2502、2503错误解决方法
先来到VirtualBox的下载位置,如图,笔者位置在D:/vb文件夹下 下载目录 然后按住win+R(win就是左下角ctrl和alt之间那个键),输入cmd,然后回车 如果在C盘的话,就直接c ...
- jQuery和bootstrap
1. jQuery学习,搜索开发者网络: js学习: https://www.apeland.con/web/20/568 https://www.apeland.con/web/21 vue饿了么 ...
- 源码解读之File
文件和目录路径名的抽象表示形式. 我们知道,对于不同的操作系统,文件路径的描述是不同的 比如 windows平台:用\ linux平台:用/ 四个构造方法 API: 文件自身属性读取 创建 ...