shell 运算符章节笔记

本文详细介绍了Shell脚本中的各类运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符及文件测试运算符,并通过示例展示了如何使用这些运算符进行条件判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 运算符 
算数运算符  
关系运算符 
布尔运算符  
字符串运算符  
文件运算符 

1、算数运算符 + - * / % = == !=  

echo `expr 1 + 1`;  
echo `expr 1 - 2`;  
echo `expr 1 / 3`;  
echo `expr 1 % 4`;  
echo `expr 1 \* 5`;  // 乘号需要转义 加反斜杠


a=1. 
b=2  
echo `expr $a - $b` // -1  

if [ $a != $b ]  
then  
  echo "a不等于b"  
fi  


2、关系运算符 -eq -ge -le -ne -gt -lt 

// 关系运算符只支持数字,不支持字符串,除非字符串的值是数字


a=1  
b=2. 

if [ $a -eq $b ]  
then  
echo 'a==b'  
else  
echo 'a!=b'  
fi  

3、布尔运算符 !取反 -o 或 -a 并且

a=1  
b=2. 

if [ $a -eq 1 -a $b == 2 ]  
then. 
echo 'a==1 && b==2'  
fi. 

4、逻辑运算符 && || 外面两个中括号

a=1  
b=2  

if [[ $a -eq 1 && $b == 2 ]]  
then  
echo 'a==1 && b==2'  
fi  

5、字符串运算符 = 相等 != -z 字符串长度是否为0 -n 相反 $ 是否为空  

a='hello'  
b='hi'  

if [ $a = $b ]  
then  
echo 'a字符串和b字符串相等'  
else  
echo  
echo 'a字符串和b字符串不相等'  
fi  

if [ -z $a ]  
then  
echo ‘a字符串长度为0’  
else  
echo ‘a字符串长度不为0’  
fi  

if [ $a ]  
then  
echo ‘a字符串不为空’  
else  
echo ‘a字符串为空’  
fi  

6、文件测试运算符  

-d 是否是目录文件  
-f 普通文件  
-r 是否只读  
-w  
-x  
-s 文件是否为空. 
-e 文件或目录是否存在  

if [ -e '~/.ssh/hello.xxx']  
then   
echo 'hello文件存在'  
else  
echo 'hello文件不存在'  
fi 

  

转载于:https://www.cnblogs.com/leyi/p/10616690.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值