ex45.sh

来自「BASH Shell 编程 经典教程 《高级SHELL脚本编程》中文版」· Shell 代码 · 共 105 行

SH
105
字号
#!/bin/bash# 展示一些使用'expr'的例子# ========================echo# 算术 操作# ---- ----echo "Arithmetic Operators"echoa=`expr 5 + 3`echo "5 + 3 = $a"a=`expr $a + 1`echoecho "a + 1 = $a"echo "(incrementing a variable)"a=`expr 5 % 3`# 取模操作echoecho "5 mod 3 = $a"echoecho# 逻辑 操作# ---- ----#  true返回1, false返回0,#+ 而Bash的使用惯例则相反.echo "Logical Operators"echox=24y=25b=`expr $x = $y`         # 测试相等.echo "b = $b"            # 0  ( $x -ne $y )echoa=3b=`expr $a \> 10`echo 'b=`expr $a \> 10`, therefore...'echo "If a > 10, b = 0 (false)"echo "b = $b"            # 0  ( 3 ! -gt 10 )echob=`expr $a \< 10`echo "If a < 10, b = 1 (true)"echo "b = $b"            # 1  ( 3 -lt 10 )echo# 注意转义操作.b=`expr $a \<= 3`echo "If a <= 3, b = 1 (true)"echo "b = $b"            # 1  ( 3 -le 3 )# 也有 "\>=" 操作 (大于等于).echoecho# 字符串 操作# ------ ----echo "String Operators"echoa=1234zipper43231echo "The string being operated upon is \"$a\"."# 长度: 字符串长度b=`expr length $a`echo "Length of \"$a\" is $b."# 索引: 从字符串的开头查找匹配的子串,#       并取得第一个匹配子串的位置.b=`expr index $a 23`echo "Numerical position of first \"2\" in \"$a\" is \"$b\"."# substr: 从指定位置提取指定长度的字串.b=`expr substr $a 2 6`echo "Substring of \"$a\", starting at position 2,\and 6 chars long is \"$b\"."#  'match' 操作的默认行为就是从字符串的开始进行搜索,#+  并匹配第一个匹配的字符串.##        使用正则表达式b=`expr match "$a" '[0-9]*'`               #  数字的个数.echo Number of digits at the beginning of \"$a\" is $b.b=`expr match "$a" '\([0-9]*\)'`           #  注意, 需要转义括号#                   ==      ==              + 这样才能触发子串的匹配.echo "The digits at the beginning of \"$a\" are \"$b\"."echoexit 0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?