Shell的字符串表达式介绍-实践及企业案例脚本剖析

简介:

man test可以看到字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
  -n STRING
               the length of STRING is nonzero
        STRING equivalent to -n STRING
        -z STRING
               the length of STRING is zero
        STRING1 = STRING2
               the strings are equal
        STRING1 != STRING2
               the strings are not equal
        INTEGER1 - eq  INTEGER2
               INTEGER1 is equal to INTEGER2
        INTEGER1 - ge  INTEGER2
               INTEGER1 is greater than or equal to INTEGER

字符串测试操作符:

常用字符串测试操作符

-z “字符串”,若串长度为0则真,-z可以理解为zero

-n “字符串”,若串长度为0则真,-n可以理解为no zero

"串1" = “串2”,若串1等于串2则真,可使用“==”代替“=”

“串1”!=“串2”,若串1不等于串2则真,但不能用“!==”代替“!=”

特别注意:

1、以上表格中的字符串测试操作符号必须用""双引号引起来哦。

2、比较符号两端必须有空格

3、字符串或字符串变量比较都要加双引号后再比较

4、字符串或字符串变量比较,比较符号两端最好都有空格。

练习:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@linux-node1 ~] # [ -n "abc" ]&&echo 1||echo 0
1
[root@linux-node1 ~] # [ -n "" ]&&echo 1||echo 0   
0
[root@linux-node1 ~] # [ -z "abc" ]&&echo 1||echo 0 
0
[root@linux-node1 ~] # [ ! -z "abc" ]&&echo 1||echo 0
1
[root@linux-node1 ~] # [ -n "$test" ]&&echo 1||echo 0
1
[root@linux-node1 ~] # test="oldboy"
[root@linux-node1 ~] # [ -n "test" ]&&echo 1||echo 0
1
[root@linux-node1 ~] # [ -n "$test" ]&&echo 1||echo 0
1
[root@linux-node1 ~] # [ "$test" = "oldboy" ]&&echo 1||echo 0        
1

 本文转自sandshell博客51CTO博客,原文链接http://blog.51cto.com/sandshell/1964139如需转载请自行联系原作者


sandshell

相关文章
|
3天前
|
分布式计算 Hadoop Shell
使用shell脚本实现自动SSH互信功能
使用shell脚本实现自动SSH互信功能
10 1
|
4天前
|
Unix Shell Linux
轻松编写 AIX Shell 脚本
轻松编写 AIX Shell 脚本
12 1
|
4天前
|
Shell Linux
【Linux】进程实践项目(更新中) — 自主shell编写
前几篇文章,我们学习进程的相关知识:进程概念,进程替换,进程控制。熟悉了进程到底是个什么事情,接下来我们来做一个实践,来运用我们所学的相关知识。这个项目就是手搓一个shell模块,模拟实现Xshell中的命令行输入。
10 1
|
5天前
|
监控 关系型数据库 Shell
Shell脚本入门:从基础到实践,轻松掌握Shell编程
Shell脚本入门:从基础到实践,轻松掌握Shell编程
|
5天前
|
关系型数据库 MySQL Shell
在Centos7中利用Shell脚本:实现MySQL的数据备份
在Centos7中利用Shell脚本:实现MySQL的数据备份
|
6天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
24 5
|
7天前
|
Shell 程序员 数据安全/隐私保护
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
|
7天前
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)
|
7天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
15 3