Linux - 运算符

Linux - 运算符 首页 / Linux入门教程 / Linux - 运算符

每个Shell支持各种运算符。我们将在本章中详细讨论Bourne shell(默认Shell)。

我们现在将讨论以下运算符-

  • 算术运算符
  • 关系运算符
  • 布尔运算符
  • 字符串运算符

Bourne Shell最初没有任何执行简单算术运算的机制,但它使用外部程序,即 awk 或 expr 。

以下示例显示如何将两个数字相加-

#!/bin/sh

val=`expr 2 + 2`
echo "Total value : $val"

上面的脚本将产生以下输出-

Total value : 4

算术运算符

Bourne Shell支持以下算术运算符。

假设变量 a=10,变量 b=20,然后-

操作符描述示例
+相加`expr $a + $b`=30
-相减`expr $a - $b`=-10
相乘`expr $a\* $b`=200
/相除xpr $b/$a`=2
%取模`expr $b % $a`=0
=赋值a=$b  将 b 的值赋给 a
==相等[ $a == $b ] 将返回false
!=不相等[ $a != $b ]  将返回true

关系运算符

Bourne Shell支持以下特定于数值的关系运算符。这些运算符不适用于字符串值,除非它们的值是数字。

无涯教程网

假设变量 a=10,变量 b=20,然后-

操作符描述示例
-eq检查两个值是否相等 [$a -eq $b] =》 false
-ne检查两个值是否不相等 [$a -ne $b] => true
-gt检查左值是否大于右值 [$a -gt $b] => false
-lt检查左值是否小于右值 [$a -lt $b] => true
-ge检查左值是否大于或等于右值 [$a -ge $b] => false
-le检查左值是否小于或等于右值 [$a -le $b] => true

布尔运算符

Bourne Shell支持以下布尔运算符。

假设变量 a =10,变量 b =20,然后-

操作符描述示例
!逻辑 非 [!false] ==true 
-o逻辑 OR [$a -lt 20 -o $b -gt 100] == true
-a逻辑 AND[$a -lt 20 -a $b -gt 100] ==false

字符串运算符

Bourne Shell支持以下字符串运算符。

假设变量 a ="abc",变量 b="efg",则-

链接:https://www.learnfk.comhttps://www.learnfk.com/linux/linux-basic-operators.html

来源:LearnFk无涯教程网

操作符描述示例
=检查两个值是否相等 [$a=$b] ==false。
!=检查两个值是否不相等 [$a!= $b] == true。
-z检查给定的字符串操作数大小是否为零 [-z $a] == false。
-n检查给定的字符串操作数大小是否为非零 [-n $a] == true。
str检查 str 是否不是空字符串 [$a] == true。

文件测试

我们有一些运算符可用于测试与Unix文件相关的各种属性。

假设变量文件拥有一个现有文件名" test",其大小为100个字节,并且具有 read , write 和 execute 权限

操作符描述示例
-b file检查文件是否为块特殊文件 [-b $file] => false
-c file检查文件是否为字符特殊文件 [-c $file] => false
-d file检查文件是否为目录 [-d $file] => false
-f file检查文件是否是普通文件,而不是目录或特殊文件 [-f $file] => true
-g file检查文件是否设置了其设置的组ID(SGID)位 [-g $file] => false
-k file检查文件是否设置了Sticky bit set [-k $file] => false
-p file检查文件是否为命名管道 [-p $file] => false
-t file检查文件描述符是否打开并与终端关联 [-t $file] => false
-u file检查文件是否设置了其设置用户ID(SUID)位 [-u $file] => false
-r file检查文件是否可读 [-r $file] => true
-w file检查文件是否可写 [-w $file] => true
-x file检查文件是否可执行 [-x $file] => true
-s file检查文件的大小是否大于0 [-s $file] => true
-e file检查文件是否存在 [-e $file] => true

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学微服务 -〔胡忠想〕

DevOps实战笔记 -〔石雪峰〕

NLP实战高手课 -〔王然〕

Serverless入门课 -〔蒲松洋(秦粤)〕

TensorFlow 2项目进阶实战 -〔彭靖田〕

深度学习推荐系统实战 -〔王喆〕

Spark核心原理与实战 -〔王磊〕

后端工程师的高阶面经 -〔邓明〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

好记忆不如烂笔头。留下您的足迹吧 :)