Linux expr命令详解

简介

Linux 中的 expr 命令用于计算表达式的值,包括算术运算、字符串操作和逻辑比较。它常用于 shell 脚本。

基本算术运算

expr 支持基本算术运算,例如加、减、乘、除和模数

  • 加(+)
shell 复制代码
expr 5 + 3
# Output: 8
  • 减(-)
shell 复制代码
expr 10 - 4
# Output: 6
  • 乘(*)

* 运算符必须进行转义(\*)以防止 shell 解释

shell 复制代码
expr 6 \* 3
# Output: 18
  • 除(/)
shell 复制代码
expr 12 / 4
# Output: 3
  • 取模(%)
shell 复制代码
expr 10 % 3
# Output: 1

字符串操作

计算字符串长度

shell 复制代码
expr length "Hello"
# Output: 5

提取字符串

shell 复制代码
expr substr "HelloWorld" 1 5
# Output: Hello

查找字符位置

shell 复制代码
expr index "LinuxShell" 'S'
# Output: 6

比较操作

检查是否相等(=)

shell 复制代码
expr "apple" = "apple"
# Output: 1 (true)

检查是否不相等(!=)

shell 复制代码
expr "apple" != "banana"
# Output: 1 (true)

比大小

>< 必须用 \ 进行转义,以防止被 shell 解释

shell 复制代码
expr 10 \> 5
# Output: 1 (true)

expr 2 \< 8
# Output: 1 (true)

逻辑操作

AND(&)

shell 复制代码
expr 4 \> 2 \& 3 \> 1
# Output: 1 (true)

OR(|)

shell 复制代码
expr 4 \< 2 \| 3 \> 1
# Output: 1 (true)

shell 脚本中使用 expr

shell 复制代码
#!/bin/bash
a=10
b=5
sum=$(expr $a + $b)
echo "Sum: $sum"

# Output: Sum: 15

expr 的替代方案

  • 使用 $(()) 进行算术运算
shell 复制代码
echo $((5 + 3))
  • 使用 bc 进行浮点计算
shell 复制代码
echo "scale=2; 10 / 3" | bc
相关推荐
鸠摩智首席音效师5 小时前
linux 系统中 Shutting Down, Restarting, Halting 有什么区别 ?
linux·运维·服务器
CIb0la5 小时前
Linux 将继续不支持 HDMI 2.1 实现
linux·运维·服务器
德生coding6 小时前
wifi驱动编译出来的驱动文件怎么做strip
linux
鹿鸣天涯6 小时前
Kali Linux 2025.4 发布:桌面环境增强,新增 3 款安全工具
linux·运维·安全
学习&笔记7 小时前
MTK(系统篇)user版本无法使用setenforce 0命令关闭selinux权限
linux·运维·服务器
Bdygsl7 小时前
Linux(8)—— 进程优先级与环境变量
linux·运维·服务器
another heaven7 小时前
【软考 磁盘磁道访问时间】总容量等相关案例题型
linux·网络·算法·磁盘·磁道
杨云龙UP8 小时前
MySQL 8.0.x InnoDB 写入链路优化:Redo Log 与 Buffer Pool 扩容与缓冲区调优实战记录-20251029
linux·运维·数据库·sql·mysql
txzz88889 小时前
CentOS-Stream-10 系统安装之网络设置
linux·运维·服务器·网络·计算机网络·centos
qq_4017004110 小时前
嵌入式Linux网口MAC地址修改
linux·运维·macos