首页 > 系统相关 >Shell编程教程 - 字符串变量表达式

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

时间:2023-07-23 21:12:42浏览次数:33  
标签:教程 Shell string 示例 编程 echo sh 字符串 表达式

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 +x 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智能提效开发运维

标签:教程,Shell,string,示例,编程,echo,sh,字符串,表达式
From: https://www.cnblogs.com/weixuexi/p/17575895.html

相关文章

  • Day 4: Shell字符串处理
    学习目标学习内容1.字符串拼接2.字符串替换3.字符串截取4.练习任务大树哥个人信息学习目标学习Shell中的字符串处理技巧。掌握字符串的拼接、替换和截取方法。练习编写脚本,处理和操作字符串数据。学习内容今天我们将学习如何在Shell编程中处理和操作字符串。1.......
  • 【雕爷学编程】Arduino动手做(168)---ATTINY85迷你USB开发板2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(168)---ATTINY85迷你USB开发板
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 6-4 整数数位和(高教社,《Python编程基础及应用》习题8-3)
    6-4整数数位和在计算机编程中,我们经常需要对数字进行各种操作和计算。其中,对一个整数进行数位和的计算是一个常见的需求。本文将介绍什么是整数的数位和,并给出一个用Python实现的计算数位和的示例代码。什么是整数的数位和整数的数位和是指将一个整数中每个数字相加的结果。例......
  • 【雕爷学编程】Arduino动手做(55)--DHT11温湿度传感器模块3
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(55)--DHT11温湿度传感器模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • Ruby中使用shell变量
    在Ruby中使用shell变量1.流程概述下面是使用shell变量的整个流程的步骤概述:步骤描述步骤1在Ruby中获取shell变量的值步骤2在Ruby中设置shell变量的值接下来,我们将逐步介绍每个步骤所需执行的操作。2.步骤1:获取shell变量的值要在Ruby中获取shell变量的值,我......
  • 正点原子 第六十一章 Linux I2C驱动实验 编程感受
    正点原子官方文档的代码结构太乱,我于是这样做了。  我将主要的程序分2部分:第一部分:my_ap3216c.c 第二部分:my_ap3216c_base.c 第一部分放Linux 驱动框架,比如fops 函数,platform 框架这些。第二部分放 ap3216c 底层驱动,包括向ap3216c 如何读一个字节,写一个字节......
  • windows 上书写shell脚本上传远程服务器注意问题
    ①权限问题:上传脚本,没有可执行权限,解决:chmod-u=rwx*.sh;②文件格式问题:windows上的是dos格式,linux上需要的是unix格式,解决:vim修改我们的脚本,执行以下命令 :setff? 查看脚本格式,如果是fileformat=dos就说明是dos格式需要修改为unix格式:setff=unix然后wq ......
  • 多任务编程之并发、并行概念
    多任务的执行方式1.并发2.并行并发:在⼀段时间内一个cpu交替去执⾏任务。示例:对于单核cpu处理多任务,操作系统轮流让各个软件交替执⾏,假如:软件1执⾏0.01秒,切换到软件2,软件2执⾏0.01秒,再切换到软件3,执⾏0.01秒……这样反复执⾏下去。表⾯上看,每个软件都是交替执⾏的,但是,......