猎奇网站模板,网站空间商,seo的中文含义是什么,眉山市住房城乡建设局网站Shell与其他编程语言一样#xff0c;支持多种类型的运算符#xff0c;包括#xff1a;
算术运算符#xff1a;用于执行数学运算#xff0c;例如加法、减法、乘法和除法。
关系运算符#xff1a;用于比较两个值之间的关系#xff0c;例如相等、大于、小于等。
布尔运算…Shell与其他编程语言一样支持多种类型的运算符包括
算术运算符用于执行数学运算例如加法、减法、乘法和除法。
关系运算符用于比较两个值之间的关系例如相等、大于、小于等。
布尔运算符 用于执行逻辑运算例如逻辑与、逻辑或、逻辑非。
字符串运算符用于处理字符串例如字符串连接、字符串相等性检查。
文件测试运算符 用于检查文件属性例如文件是否存在、文件是否可读等。 expr命令 expr (evaluate expressions 的缩写)译为“表达式求值” expr是一种表达式计算工具用于执行表达式求值操作。Shell expr 是一个功能强大并且比较复杂的命令它除了可以实现整数计算还可以结合一些选项对字符串进行处理例如计算字符串长度、字符串比较、字符串匹配、字符串提取等。
常用的算术运算符假定变量 a 为 1变量 b 为 2 运算符 说明 举例 加法 expr $a $b 结果为 3 - 减法 expr $a - $b 结果为 -1 * 乘法 expr $a \* $b 结果为 2 / 除法 expr $b / $a 结果为 2 % 取余 expr $b % $a 结果为 0 赋值 a$b 将把变量 b 的值赋给 a 注意 表达式和运算符之间要有空格例如 22 是不对的必须写成 2 2这与我们熟悉的大多数编程语言不一样。完整的表达式要被 包含注意使用的是反引号 而不是单引号 这个字符不是常用的单引号在 Esc 键下边。如果四则运算中如果使用了()需要转义 \( 30 1 \) 求值表达式
算术运算符表达式交互式
expr 1 11 # 返回: 12
expr \( 30 10 \) \* 2 100 # 返回:180
获取计算结果赋值给新变量语法
resultexpr 1 1 # 输出result得到结果: 2 2).echo管道 字符串语法 语法 说明 示例 expr length 字符串 计算字符串的长度 expr length helloworld 返回: 10 expr substr 字符串 start end 截取字符串 expr substr helloworld 1 2 返回: hestart 截取字符串的起始位置从1开始end 截取字符串的结束位置包含这个位置截取 expr index 被查找字符串 需要查找的字符 获取第一个字符在字符串中出现的位置 expr index helloworld l 返回: 3 expr match 字符串 正则表达式expr 字符串 : 正则表达式 正则表达式匹配返回值为符合匹配字符的长度否则返回为0 expr match 命令用于匹配一个字符串中的部分文本而正则表达式 .*o 的含义如下 .匹配任意一个字符。*匹配前面的字符.零次或多次即匹配任意数量的字符。o匹配字符 o。 expr match helloworld .*o 返回: 7 运行效果 (())命令 双小括号(( ))用于进行数学运算表达式的执行 , 将数学运算表达式放在((和))之间。可以使用 获取(())表达式命令的结果这和使用 获得变量值是一样的。 语法 说明 ((a646)) ((ba-6)) ((cab*2)) 这种写法可以在计算完成后给变量赋值。以 ((ba-6)) 为例即将 a-6的运算结果赋值给变量 c。 注意使用变量时不用加$前缀(( )) 会自动解析变量名。 a$((16) b$((a-1)) c$((ab*2)) 可以在 (( )) 前面加上$符号获取 (( )) 命令的执行结果也即获取整个表达式的值。以 c$((ab*2)) 为例即将 ab 这个表达式的运算结果赋值给变量 c。 注意如果 c((ab)) 这样的写法是错误的不加$就不能取得表达式的结果。 ((a7 bc)) (( )) 也可以进行逻辑运算在 if 语句中常会使用逻辑运算。 echo $((a10)) 需要立即输出表达式的运算结果时可以在 (( )) 前面加$符号。 ((a35, ba10)) 对多个表达式同时进行计算, 多表表达式使用”,”号隔开 注意: 符号之间有无空格都可以 , (( a 1 6 )) 等价于 ((a16)) 示例ce.sh脚本代码
#!/bin/bash
# 计算16赋值给变量a
((a16))# 计算变量a-1赋值给变量b
((ba-1))# 计算变量a变量b赋值给变量c
((cab))# 打印变量a,变量b, 变量c的值
echo a${a},b${b},c${c}# $赋值写法
a$((16)) b$((a-1)) c$((ab))
echo a${a},b${b},c${c}# (())多个表达式计算赋值
((a16,ba-1,cab))
echo a${a},b${b},c${c}# echo输出直接使用(())
echo 16$((16))# (()) 用于逻辑表达式 在if中使用
if ((a7 bc))
thenecho a7 bc 成立
elseecho a7 bc 不成立
fi
运行效果 总结
括号内赋值: ((变量名整数表达式))括号外赋值: 变量名$((整数表达式))多表达式赋值: ((变量名1整数表达式1,变量名2整数表达式2,…))与if条件句配合使用: if ((整数表达式)) let命令 let 命令和双小括号 (( )) 在数字计算方面功能一样。但是没有(())功能强大let只能用于赋值计算不能直接输出不可以条件判断一起使用。let主要用于赋值是最简洁的整数运算赋值命令。
let 赋值表达式
# 计算赋值用法: let 变量名整数运算表达式
# 多个表达式计算赋值用法: let 变量名1整数运算表达式1 变量名2整数运算表达式2 ... 语法功能等价于((表达式))多个表达式之间使用空格不是”,“号对于类似let ab这样的写法Shell 虽然计算了 ab 的值但却将结果丢弃。如果 echo let ab 会直接输出字符串 ab 若不想这样可以使用let sumab将 ab 的结果保存在变量 sum 中。 $[]命令 在Linux和Unix Shell中$[] 是一种旧的、过时的方法用于执行数学运算。它可以用来计算表达式的值。例如您可以使用 $[] 来执行基本的算术运算如加法、减法、乘法和除法。 效果展示 四种计算命令对比 命令 优点 缺点 expr 可以直接输出。 计算表达式里面引用变量使用$特殊字符需要转义只能计算一个表达式。 (( )) 直接输出里面直接使用变量名特殊字符不需要转义多个表达式赋值。(直接求值输出推荐方式) 需要获取值以后才可以输出。 let 赋值简单特殊字符不需要转义。(赋值推荐方式) 不能直接输出。 $[ ] 特殊字符不需要转义。 不能多表达式计算。 bc命令 Bash Shell内置了对整数运算的支持但是并不支持浮点运算而 linux bc (basic calculator)命令可以很方便的进行浮点运算。bc命令是Linux简单的计算器能进行进制转换与计算。能转换的进制包括十六进制、十进制、八进制、二进制等。可以使用的运算符号包括()加法、(-)减法、(*)乘法、(/)除法、(^)指数、(%)余数等。
bc [options] [参数]
选项options 选项 说明 -h help帮助信息 -v version显示命令版本信息 -l mathlib, 使用标准数学库例如使用内置函数就需要必须使用这个参数 -i interactive强制交互 -w warn显示 POSIX 的警告信息 -s standard使用 POSIX 标准来处理 -q quiet不显示欢迎信息 注意 默认使用bc命令后回车会有很多欢迎信息 可以使用 bc -q 回车后不会有欢迎信息 bc命令交互式下输入quit 即可回到当前目录 bc 需要每个表达式单独一行并且要在运算符周围使用空格 参数指定包含计算任务的文件。
常见的内置函数
内置数学函数 函数名作用s(x)计算x的正弦值,x是弧度值c(x)计算x的余弦值,x是弧度值a(x)计算x的正切值,返回弧度值l(x)计算x的自然对数e(x)求e的x次方j(n,x)计算从n到x的阶数
测试效果
文件可以执行多条语句