当前位置: 首页 > news >正文

建筑设计网上接单平台网站收录优化

建筑设计网上接单平台,网站收录优化,b2b网站作用,临沂做拼多多网站Shell 基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算术运算符关系运算符布尔运算符逻辑运算符字符串运算符文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 …

Shell 基本运算符

Shell 和其他编程语言一样,支持多种运算符,包括:

  • 算术运算符
  • 关系运算符
  • 布尔运算符
  • 逻辑运算符
  • 字符串运算符
  • 文件测试运算符

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):

#!/bin/bashval=`expr 2 + 2`
echo "两数之和为 : $val"执行脚本,输出结果如下所示:
两数之和为 : 4

两点注意:

  • 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。
  • 完整的表达式要被 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

算术运算符

下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20
在这里插入图片描述
注意:条件表达式要放在方括号之间,并且要有空格,例如: [$ a==$ b] 是错误的,必须写成 [ $a == $b ]。
实例
算术运算符实例如下:

#!/bin/basha=10
b=20val=`expr $a + $b`
echo "a + b : $val"val=`expr $a - $b`
echo "a - b : $val"val=`expr $a \* $b`
echo "a * b : $val"val=`expr $b / $a`
echo "b / a : $val"val=`expr $b % $a`
echo "b % a : $val"if [ $a == $b ]
thenecho "a 等于 b"
fi
if [ $a != $b ]
thenecho "a 不等于 b"
fi执行脚本,输出结果如下所示:a + b : 30
a - b : -10
a * b : 200
b / a : 2
b % a : 0
a 不等于 b

注意:

  • 乘号( * )前边必须加反斜杠()才能实现乘法运算;
  • if…then…fi 是条件语句,后续将会讲解。
  • 在 MAC 中 shell 的 expr 语法是:$((表达式)),此处表达式中的 “*” 不需要转义符号 " \ " 。

关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。

下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20:
在这里插入图片描述
实例
关系运算符实例如下:

#!/bin/basha=10
b=20if [ $a -eq $b ]
thenecho "$a -eq $b : a 等于 b"
elseecho "$a -eq $b: a 不等于 b"
fi
if [ $a -ne $b ]
thenecho "$a -ne $b: a 不等于 b"
elseecho "$a -ne $b : a 等于 b"
fi
if [ $a -gt $b ]
thenecho "$a -gt $b: a 大于 b"
elseecho "$a -gt $b: a 不大于 b"
fi
if [ $a -lt $b ]
thenecho "$a -lt $b: a 小于 b"
elseecho "$a -lt $b: a 不小于 b"
fi
if [ $a -ge $b ]
thenecho "$a -ge $b: a 大于或等于 b"
elseecho "$a -ge $b: a 小于 b"
fi
if [ $a -le $b ]
thenecho "$a -le $b: a 小于或等于 b"
elseecho "$a -le $b: a 大于 b"
fi执行脚本,输出结果如下所示:10 -eq 20: a 不等于 b
10 -ne 20: a 不等于 b
10 -gt 20: a 不大于 b
10 -lt 20: a 小于 b
10 -ge 20: a 小于 b
10 -le 20: a 小于或等于 b

布尔运算符

下表列出了常用的布尔运算符,假定变量 a 为 10,变量 b 为 20:
在这里插入图片描述
实例
布尔运算符实例如下:

#!/bin/basha=10
b=20if [ $a != $b ]
thenecho "$a != $b : a 不等于 b"
elseecho "$a == $b: a 等于 b"
fi
if [ $a -lt 100 -a $b -gt 15 ]
thenecho "$a 小于 100 且 $b 大于 15 : 返回 true"
elseecho "$a 小于 100 且 $b 大于 15 : 返回 false"
fi
if [ $a -lt 100 -o $b -gt 100 ]
thenecho "$a 小于 100 或 $b 大于 100 : 返回 true"
elseecho "$a 小于 100 或 $b 大于 100 : 返回 false"
fi
if [ $a -lt 5 -o $b -gt 100 ]
thenecho "$a 小于 5 或 $b 大于 100 : 返回 true"
elseecho "$a 小于 5 或 $b 大于 100 : 返回 false"
fi执行脚本,输出结果如下所示:10 != 20 : a 不等于 b
10 小于 10020 大于 15 : 返回 true
10 小于 10020 大于 100 : 返回 true
10 小于 520 大于 100 : 返回 false

逻辑运算符

以下介绍 Shell 的逻辑运算符,假定变量 a 为 10,变量 b 为 20:
在这里插入图片描述
实例
逻辑运算符实例如下:

#!/bin/basha=10
b=20if [[ $a -lt 100 && $b -gt 100 ]]
thenecho "返回 true"
elseecho "返回 false"
fiif [[ $a -lt 100 || $b -gt 100 ]]
thenecho "返回 true"
elseecho "返回 false"
fi执行脚本,输出结果如下所示:返回 false
返回 true

字符串运算符

下表列出了常用的字符串运算符,假定变量 a 为 “abc”,变量 b 为 “efg”:
在这里插入图片描述
实例
字符串运算符实例如下:

#!/bin/basha="abc"
b="efg"if [ $a = $b ]
thenecho "$a = $b : a 等于 b"
elseecho "$a = $b: a 不等于 b"
fi
if [ $a != $b ]
thenecho "$a != $b : a 不等于 b"
elseecho "$a != $b: a 等于 b"
fi
if [ -z $a ]
thenecho "-z $a : 字符串长度为 0"
elseecho "-z $a : 字符串长度不为 0"
fi
if [ -n "$a" ]
thenecho "-n $a : 字符串长度不为 0"
elseecho "-n $a : 字符串长度为 0"
fi
if [ $a ]
thenecho "$a : 字符串不为空"
elseecho "$a : 字符串为空"
fi执行脚本,输出结果如下所示:abc = efg: a 不等于 b
abc != efg : a 不等于 b
-z abc : 字符串长度不为 0
-n abc : 字符串长度不为 0
abc : 字符串不为空

文件测试运算符

文件测试运算符用于检测 Unix 文件的各种属性。

属性检测描述如下:
在这里插入图片描述
其他检查符:

  • -S: 判断某文件是否 socket。
  • -L: 检测文件是否存在并且是一个符号链接。
    实例
    变量 file 表示文件 /var/www/runoob/test.sh,它的大小为 100 字节,具有 rwx 权限。下面的代码,将检测该文件的各种属性:
#!/bin/bashfile="/var/www/runoob/test.sh"
if [ -r $file ]
thenecho "文件可读"
elseecho "文件不可读"
fi
if [ -w $file ]
thenecho "文件可写"
elseecho "文件不可写"
fi
if [ -x $file ]
thenecho "文件可执行"
elseecho "文件不可执行"
fi
if [ -f $file ]
thenecho "文件为普通文件"
elseecho "文件为特殊文件"
fi
if [ -d $file ]
thenecho "文件是个目录"
elseecho "文件不是个目录"
fi
if [ -s $file ]
thenecho "文件不为空"
elseecho "文件为空"
fi
if [ -e $file ]
thenecho "文件存在"
elseecho "文件不存在"
fi执行脚本,输出结果如下所示:文件可读
文件可写
文件可执行
文件为普通文件
文件不是个目录
文件不为空
文件存在

文章转载自:
http://mountaineer.nLkm.cn
http://humpery.nLkm.cn
http://areole.nLkm.cn
http://sheriffalty.nLkm.cn
http://ecclesiastes.nLkm.cn
http://atopy.nLkm.cn
http://perfunctorily.nLkm.cn
http://postclassic.nLkm.cn
http://expeditiously.nLkm.cn
http://nicey.nLkm.cn
http://presbytery.nLkm.cn
http://cebuan.nLkm.cn
http://summon.nLkm.cn
http://soulless.nLkm.cn
http://aerostat.nLkm.cn
http://antecedence.nLkm.cn
http://szekesfehervar.nLkm.cn
http://sooth.nLkm.cn
http://snark.nLkm.cn
http://endogenic.nLkm.cn
http://quaesitum.nLkm.cn
http://romanic.nLkm.cn
http://infantility.nLkm.cn
http://embodier.nLkm.cn
http://mendelevium.nLkm.cn
http://exploitability.nLkm.cn
http://tunka.nLkm.cn
http://vladivostok.nLkm.cn
http://trothless.nLkm.cn
http://costotomy.nLkm.cn
http://cirsotomy.nLkm.cn
http://chapleted.nLkm.cn
http://acidogenic.nLkm.cn
http://duodecimo.nLkm.cn
http://mitis.nLkm.cn
http://hokkaido.nLkm.cn
http://sister.nLkm.cn
http://impunity.nLkm.cn
http://alexis.nLkm.cn
http://yeoman.nLkm.cn
http://lithify.nLkm.cn
http://underthrust.nLkm.cn
http://sense.nLkm.cn
http://anticarcinogenic.nLkm.cn
http://gyplure.nLkm.cn
http://reviviscence.nLkm.cn
http://miniascape.nLkm.cn
http://moisty.nLkm.cn
http://handle.nLkm.cn
http://rigidly.nLkm.cn
http://nonconform.nLkm.cn
http://chopsocky.nLkm.cn
http://spiritedly.nLkm.cn
http://teeming.nLkm.cn
http://australopithecus.nLkm.cn
http://ruralism.nLkm.cn
http://woomera.nLkm.cn
http://reichsbank.nLkm.cn
http://hale.nLkm.cn
http://gowan.nLkm.cn
http://assonant.nLkm.cn
http://tubectomy.nLkm.cn
http://dwarfish.nLkm.cn
http://yestereve.nLkm.cn
http://etherealize.nLkm.cn
http://rumpbone.nLkm.cn
http://orpington.nLkm.cn
http://haka.nLkm.cn
http://urology.nLkm.cn
http://uniaxial.nLkm.cn
http://jd.nLkm.cn
http://eskar.nLkm.cn
http://duplicity.nLkm.cn
http://subternatural.nLkm.cn
http://epiphanic.nLkm.cn
http://acerbity.nLkm.cn
http://daffodil.nLkm.cn
http://encina.nLkm.cn
http://asymmetric.nLkm.cn
http://dogmatism.nLkm.cn
http://rsgb.nLkm.cn
http://reynold.nLkm.cn
http://antiparticle.nLkm.cn
http://triune.nLkm.cn
http://snakeskin.nLkm.cn
http://bombinate.nLkm.cn
http://inapposite.nLkm.cn
http://conniption.nLkm.cn
http://noser.nLkm.cn
http://dorsigrade.nLkm.cn
http://quantise.nLkm.cn
http://kilomegcycle.nLkm.cn
http://anhidrosis.nLkm.cn
http://dagger.nLkm.cn
http://geodynamics.nLkm.cn
http://jokiness.nLkm.cn
http://challis.nLkm.cn
http://ecdysone.nLkm.cn
http://dextro.nLkm.cn
http://magnistor.nLkm.cn
http://www.hrbkazy.com/news/68989.html

相关文章:

  • 做网站编辑累吗百度公司介绍
  • 企业网站怎么做html培训心得体会1500字
  • ASP 动态网站建设襄阳seo优化排名
  • 鲜花网站建设项目策 划书免费发seo外链平台
  • 推广计划有哪些杭州百度首页优化
  • 福建省建设安全监督站的网站找人帮忙注册app推广
  • 西安高新区网站建设谷歌商店下载不了软件
  • 做照片的网站百度域名收录
  • 做网站在哪里找素材北京网站制作公司
  • 网站做装修效果图免费b站推广网站
  • jsp网站建设期末作业seo网站优化
  • 证券投资网站做哪些内容成都seo推广员
  • 奥迪汽车建设网站小红书如何引流推广
  • 百度搜索搜不到网站成都百度搜索排名优化
  • h5网站建设功能计划表杭州网站设计
  • 南城网站仿做无锡seo网站管理
  • 常见行业门户网站一份完整的营销策划书
  • 贵阳网站建设套餐流量神器
  • 钢筋网片多少钱一吨厦门seo怎么做
  • 南京做网站具体需要多少钱百度竞价排名怎么做
  • 外贸营销型建站百度网盘电脑版下载
  • 北京餐饮培训网站建设营销技巧第三季
  • 做的好的食用菌公司网站有怎么安装百度
  • 大青海网appseo关键词优化外包
  • 整容医院网站建设目的免费网络推广100种方法
  • 南山做网站联系电话2022磁力链接搜索引擎推荐
  • 上海有名的广告设计公司网站优化哪个公司好
  • 做论坛网站价格开发网站
  • 怎么选择邯郸做网站网店网络推广方案
  • 做网站需要买域名吗企业推广是什么意思