Day5:Shell编程教程 - 字符串变量表达式

1. 字符串变量表达式基本比较示例脚本 - `string_comparison.sh`字符串长度检查示例脚本 - `string_length.sh`逻辑运算符连接表达式示例脚本 - `logical_operators.sh`2. 执行示例脚本3. 结论大树哥个人信息

本教程将向你介绍Shell脚本中字符串变量表达式的使用。我们将学习如何比较字符串,检查字符串的长度,以及如何使用逻辑运算符连接多个表达式。

1. 字符串变量表达式

 

序号 参数 说明
1 $a = $b 如果string1等于string2,则为真
2 $string1 !=  $string2 如果string1不等于string2,则为真
3 -n $string 如果string 非空(非0),返回0(true)
4 -z $string 如果string 为空,则为真
5 $string 如果string 非空,返回0 (和-n类似)
6 ! 表达式 条件表达式的相反[逻辑非]
7 表达式1  –a  表达式2 条件表达式的并列[逻辑与]
8 表达式1  –o 表达式2 条件表达式的或[逻辑或]

 

在Shell脚本中,我们可以使用字符串变量表达式来比较字符串,检查字符串是否为空,以及使用逻辑运算符连接多个表达式。

基本比较

示例脚本 - `string_comparison.sh`

 1#!/bin/bash
2
3# Shell脚本字符串变量表达式示例
4# 作者:大树哥
5
6# 定义两个字符串变量
7string1="Hello"
8string2="World"
9
10# 比较字符串是否相等
11if [ "$string1" = "$string2" ]; then
12  echo "字符串相等"
13else
14  echo "字符串不相等"
15fi
16
17# 比较字符串是否不相等
18if [ "$string1" != "$string2" ]; then
19  echo "字符串不相等"
20else
21  echo "字符串相等"
22fi

字符串长度检查

示例脚本 - `string_length.sh`

 1#!/bin/bash
2
3# Shell脚本字符串长度检查示例
4# 作者:大树哥
5#
6
7# 定义一个字符串变量
8string="Hello, World!"
9
10# 检查字符串是否非空
11if [ -n "$string" ]; then
12  echo "字符串非空"
13else
14  echo "字符串为空"
15fi
16
17# 检查字符串是否为空
18if [ -z "$string" ]; then
19  echo "字符串为空"
20else
21  echo "字符串非空"
22fi

逻辑运算符连接表达式

示例脚本 - `logical_operators.sh`

 1#!/bin/bash
2
3# Shell脚本逻辑运算符连接表达式示例
4# 作者:大树哥
5
6# 定义三个字符串变量
7string1="Hello"
8string2="World"
9string3=""
10
11# 使用逻辑与连接两个表达式
12if [ -n "$string1" -a -n "$string2" ]; then
13  echo "两个字符串都非空"
14else
15  echo "至少有一个字符串为空"
16fi
17
18# 使用逻辑或连接两个表达式
19if [ -n "$string1" -o -n "$string3" ]; then
20  echo "至少有一个字符串非空"
21else
22  echo "所有字符串都为空"
23fi

2. 执行示例脚本

在执行示例脚本之前,确保你拥有执行权限。如果没有,使用以下命令赋予执行权限:

1chmod +string_comparison.sh string_length.sh logical_operators.sh

然后,你可以运行这些示例脚本:

1./string_comparison.sh
2./string_length.sh
3./logical_operators.sh

3. 结论

通过本次内容,我们学习了Shell脚本中字符串变量表达式的使用。我们学习了如何比较字符串是否相等、不相等,如何检查字符串是否为空,以及如何使用逻辑运算符连接多个表达式。这些知识将帮助你更好地处理字符串操作和条件判断。

大树哥个人信息

  • 网名:大树哥
  • 8年以上数据库中间件经验,专注于数据库中间件运维,Oracle、MySQL、Weblogic、WebSphere、Tomcat、Nginx等;
  • Oracle 19c OCP,软考数据系统工程师,系统规划与管理师高级等认证
  • 微信公众号: AI智能提效开发运维
posted @ 2023-07-23 20:59  大树的BLOG  阅读(34)  评论(0编辑  收藏  举报