当前位置: 首页> 游戏> 单机 > 工程建设项目管理办法实施细则_企业移动网站制作_网站模板建站公司_seo诊断报告怎么写

工程建设项目管理办法实施细则_企业移动网站制作_网站模板建站公司_seo诊断报告怎么写

时间:2025/7/12 0:05:37来源:https://blog.csdn.net/2202_75361164/article/details/144123123 浏览次数:0次
工程建设项目管理办法实施细则_企业移动网站制作_网站模板建站公司_seo诊断报告怎么写

声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

shell5,字符串运算符

字符串运算符

[[ ... ]][...]

首先我们在终端利用vim打开u.sh
内容为:

str1="hello"
str2="hello"if [[ "$str1" == "$str2" ]]; thenecho True
elseecho false
fi
  • 使用==来比较两个字符串是否相等。
  • 使用双方括号[[ ... ]]来进行字符串比较,它支持模式匹配和更复杂的表达式。
  • 变量应当用双引号包围,以确保即使变量值为空或包含空格时也能正确处理。
    在这里插入图片描述

提示[[: not found。这通常是因为shell环境不支持[[ ... ]]条件表达式,这可能是由于您使用的是一个较旧的或非常基础的shell版本,比如sh(Bourne shell),它不支持这种语法。
kail默认使用sh解释器,我们可以使用bash解释器,因为在kali中sh解释器的其实最终用的dash解释器,而dash解释器是bash解释器的简化版

在这里插入图片描述

当然了,我们如果要使用sh解释器,也可以使用旧的语法

str1="hello"
str2="hello"if [ "$str1" = "$str2" ]; thenecho True
elseecho false
fi

注意以下几点:

  • 使用单个等号=
  • 确保在[]两边都有空格。
  • 变量仍然需要用双引号包围以确保安全处理。
    在这里插入图片描述

上面的两个例子中,双引号都是可以省略的,加上可以确保即使变量值为空或包含空格时也能正确处理
在这里插入图片描述

大小写是否敏感

我们可以更改str1为Hello,来看看效果

str1="Hello"
str2="hello"if [ $str1 = $str2 ]; thenecho True
elseecho false
fi

在这里插入图片描述

我们使用!=在来看看他们是否不想等

str1="Hello"
str2="hello"if [ $str1 != $str2 ]; thenecho True
elseecho false
fi

在这里插入图片描述

可以发现,对大小写敏感

检查字符串的长度是否为0、不为0

str1="hello"
str2="helllo"# 检查str1的长度是否为0
if [ -z "$str1" ]; thenecho True  # 如果str1长度为0,则输出True
elseecho False  # 否则输出False
fi

在这里插入图片描述

  • 使用-z来检测字符串长度是否为零。
  • 变量名$str1应该被双引号包围以防止空值或包含空格的值导致的问题。
  • if[之间以及[和条件表达式之间需要有空格。
  • then关键字之前也需要有一个空格。

使用-n测试来检查字符串是否不为空。如果字符串不为空,则返回True;如果字符串为空,则返回False。我们将把str1改为str11并检查其长度。

# 定义变量
str11=""  # 这里设置为一个空字符串# 检查str11的长度是否不为0
if [ -n "$str11" ]; thenecho True  # 如果str11不为空,则输出True
elseecho False  # 如果str11为空,则输出False
fi

在这里插入图片描述

逻辑运算符之布尔运算符

# 定义变量
num1=9# 检查num1是否不等于9
if [ "$num1" != "9" ]; thenecho "num1不等于9"
elseecho "num1等于9"
fi

在这里插入图片描述

  • 使用单方括号[ ... ]来进行条件测试。
  • 使用!=来检查num1是否不等于9。
  • 变量num1被双引号包围以确保安全处理。
  • if语句的格式已经正确调整。
-a和-o 参数

-a来连接两个条件,相当于&&
-o来连接两个条件,相当于||

num1=9
num2=19# 检查num1是否不等于9并且num2是否小于20
if [ "$num1" != "9" -a "$num2" -lt 20 ]; thenecho True
elseecho False
fi
  • 使用单方括号[ ... ]来进行条件测试。
  • 使用!=来检查num1是否不等于9。
  • 使用-lt来检查num2是否小于20。
  • 使用逻辑与运算符-a来连接两个条件。
  • 变量num1num2被双引号包围以确保安全处理。
    在这里插入图片描述

更改为-o

num1=9
num2=19# 检查num1是否不等于9并且num2是否小于20
if [ "$num1" != "9" -o "$num2" -lt 20 ]; thenecho True
elseecho False
fi

在这里插入图片描述

关键字:工程建设项目管理办法实施细则_企业移动网站制作_网站模板建站公司_seo诊断报告怎么写

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: