首页 > 系统相关 >无涯教程-Linux - 运算符

无涯教程-Linux - 运算符

时间:2023-11-26 16:31:35浏览次数:39  
标签:文件 false 检查 无涯 运算符 file Linux true

每个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",则-

操作符 描述 示例
= 检查两个值是否相等 [$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

参考链接

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

标签:文件,false,检查,无涯,运算符,file,Linux,true
From: https://blog.51cto.com/u_14033984/8571238

相关文章

  • Linux I/O 重定向与管道
    1.输入/输出重定向输出重定向是一种将命令的输出流从默认位置改变到其他位置的方式。在Linux系统中,有两种常用的输出重定向符号:1.">":将命令的输出重定向到文件。这个符号将命令的输出流重定向到指定的文件中。如果文件不存在,则会创建一个新文件;如果文件已存在,则会......
  • linux - find 查找文件
    1.-name在当前目录以及子目录中根据文件名进行查找find-name"apt.md"2.-iname忽略大小写进行查找find-iname"apt.md"3.-mindepth,-maxdepth设置从根目录下查找的目录层级find/-mindepth3-maxdepth5-namepasswd4.-exec对查找到的文件执行命令find-name......
  • 无涯教程-Linux - 数组(Array)
    Shell支持另一种类型的变量,称为array变量。这可以同时保存多个值,数组提供了一种对一组变量进行分组的方法。定义数组值假设您尝试将各个学生的姓名表示为一组变量。每个单独的变量都是标量变量,如下所示-NAME01="Learnfk"NAME02="Nesfk"NAME03="Toolfk"NAME04="Poemfk"NAM......
  • 无涯教程-Linux - 特殊变量
    在本章中,我们将讨论Unix中的特殊变量,在上一章中,我们了解了变量名称中使用某些非字母数字字符时应注意的事项,这些变量保留用于特定功能。如,$字符代表当前Shell的进程ID号或PID-$echo$$上面的命令写入当前Shell的PID-29949下表显示了一些可以在Shell脚本中使用的特殊变量-......
  • 初识Linux(一)
        这是入门Linux的第一周,这一周学习的是有关Linux系统的简介以及centos系统和vmware虚拟机的安装。    在学习Linux的第一章中,我首先对Linux有了更深入的理解和认识。Linux是一种自由和开放源代码的操作系统,它是由芬兰计算机科学家LinusTorvalds于1991年首次开......
  • 无涯教程-Linux - 变量声明
    在本章中,我们将学习如何在Unix中使用Shell变量,变量不过是指向实际数据的指针,Shell使您可以创建,分配和删除变量。变量名变量名称只能包含字母(a到z或A到Z),数字(0到9)或下划线字符(_),按照约定,Unixshell变量将以大写字母命名。以下示例是有效的变量名-_ALITOKEN_AVAR_1VAR_......
  • 如何在windows系统下安装适用于linux的windows子系统
    最近部分工作需要在linux系统下操作,想着在自己本本上安装个虚拟机,废了九牛二虎之力安装好了VMware及Ubuntu系统,但是其在主机和虚拟机间共享数据不是很方便。于是又废了半天劲安装了VMwaretools,设置了共享盘、并启动后自动挂载。一切搞定后,无意中发现windows下可以安装linux子系统......
  • 无涯教程-Linux - vi编辑
    在本章中,我们将了解vim编辑器在Unix中的工作方式。启动vi编辑器下表列出了使用vi编辑器的基本命令-Sr.No.Command&描述1vifilename如果尚不存在,则创建一个新文件,否则打开一个现有文件。2vi-Rfilename以只读模式打开现有文件。3viewfilename以只读模式......
  • Linux命令(132)之sshpass
    linux命令之sshpass1.sshpass介绍linux命令sshpass是用来实现非交换的ssh操作2.sshpass用法sshpass[参数]commandsshpass参数参数说明-p指定明文密码3.实例3.1.sshpass安装默认系统中没有sshpass命令,需要安装sshpassrpm包命令:yuminstallsshpass[root@logstash~]#yuminstal......
  • 无涯教程-Linux - 通讯管理
    在本章中,我们将详细讨论Unix中的网络通信程序,在分布式环境中,您需要与远程用户进行通信,并且还需要访问远程Unix计算机。ping实用程序ping命令将回显请求发送到网络上可用的主机。使用此命令,您可以检查您的远程主机是否响应良好。以下是使用ping命令的简单语法-$pinghostna......