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

成都网站开发排名保安公司网站如何做

成都网站开发排名,保安公司网站如何做,盐山县招聘网站建设,一个公司的网址是怎么样的接着上一章继续 数值的对比 判断语句 循环语句 22.5 比较、对比、判断 在写脚本时#xff0c;有时需要做一些比较#xff0c;例如#xff0c;两个数字谁大谁小#xff0c;两个字符串是否相同等。 做对比的表达式有[]、[[]]、test#xff0c;其中[]和 test这两种表达式的…接着上一章继续 数值的对比 判断语句 循环语句 22.5 比较、对比、判断 在写脚本时有时需要做一些比较例如两个数字谁大谁小两个字符串是否相同等。 做对比的表达式有[]、[[]]、test其中[]和 test这两种表达式的作用是相同的。[[]]和[]的不同 在于,[[]]能识别通配符和正则表达式中的元字符[]却不能。 需要注意的是在比较时中括号和后续提及的比较符两边都要留有空格。 22.5.1数字的比较 数字的比较主要是比较两个数字谁大谁小或者是否相同。能用到的比较符有以下几 种。 1-eq相等。 2-ne不相等。 3-gt大于。 4-ge大于等于。 5-lt小于。 6-le小于等于。 做完比较之后通过返回值来判断比较是否成立。 练习1判断1等于2命令如下。 [rootpp yy]# [ 1 -eq 2 ] [rootpp yy]# echo $? 1 [rootpp yy]# 1是不能等于2的所以判断不成立返回值为非零。注意中括号和比较符两边的空格。 练习2判断1不等于2命令如下。 [rootpp yy]# [ 1 -ne 2 ] [rootpp yy]# echo $? 0 [rootpp yy]# 1不等于2所以判断成立返回值为0 22.5.2 字待串的比较 字符串的比较一般是比较两个字符串是否相同用得较多的比较符有以下两种。 1相同。 2!不相同。 做完比较之后通过返回值来判断比较是否成立。 练习1定义一个变量aatom然后做判断命令如下。 [rootpp yy]# aatom [rootpp yy]# [ $aa tom ] [rootpp yy]# echo $? 0 [rootpp yy]# 变量aa的值和 tom完全相同所以判断成立返回值为0。 练习2在判断中匹配通配符命令如下。 [rootpp yy]# aatom [rootpp yy]# [ $aa to? ] [rootpp yy]# echo $? 1 [rootpp yy]# 这里定义aatom按照前面讲过的通配符to?匹配的应该是前两个字符为to第三个 可以是任意字符所以 tom应该会被to?匹配到为什么返回值为非零呢? 原因在于在这一对中括号[]中是不能识别通配符的aa的值是t、o、m三个字符而等号 后面是t、o、?这三个字符并没有把问号当成通配符所以判断不成立。 如果想识别通配符,那么就要用双中括号[[]]看下面的判断。 [rootpp yy]# aatom [rootpp yy]# [[[ $aa to? ]] [rootpp yy]# echo $? 0 [rootpp yy]# 在[[]]中能识别通配符“?”所以这里判断成立返回值为0。 注意 1后面跟的是通配符如果想跟正则表达式比较符就不能使用了要换成~。 2一定要注意中括号和比较符两边的空格。 22.5.3 属性的判断 属性的判断用于判断一个文件是否具备某个属性常见的属性包括以下7种。 1-r具备读权限。 2-w具备写权限。 3-x具备可执行权限。 注意 以上三个属性不管是出现在u、g还是o上只要有就算判断成立。 -d一个目录。 -l一个软链接。 -f一个普通文件且要存在。 -e不管什么类型的文件只要存在就算判断成立。 练习1判断/etc/hosts具备r权限命令如下。 [rootpp yy]# ls -l /etc/hosts -rw-r--r--. 1 root root 158 9月 10 2018 /etc/hosts [rootpp yy]# [ -r /etc/hosts ] [rootpp yy]# echo $? 0 [rootpp yy]# 通过第一条命令可以看到/etc/hosts是具备r权限的判断/etc/hosts具备r权限自然成 立,所以返回值为0。 练习2判断/etc/hosts具备x权限命令如下。 [rootpp yy]# [ -x /etc/hosts ] [rootpp yy]# echo $? 1 [rootpp yy]# 22.5.4 使用连接符 前面讲的判断只是单个判断如果要同时做多个判断那么就需要使用连接符了。能用的 连接符包括“”和“||”。 先看一下使用作为连接符用法如下。 1 判断1 判断2 只有两个判断都为真返回值为0)整体才为真只要有一个为假整体就为假。判断1 如果为假判断2还有必要执行吗?没有因为整体已经确定为假了。判断1为真整体是真 是假在于判断2所以判断2肯定是要执行的。 [rootpp yy]# [ 1 -le 2 ] [ 2 -ge 3 ] [rootpp yy]# echo $? 1 [rootpp yy]# 下面看使用||作为连接符用法如下。 两个判断只要有一个为真(返回值为0)整体就为真只有全都为假整体才为假。 判断1为真,整体已经确定为真所以判断2没有必要执行。 判断1为假,整体是真是假在于判断2所以判断2肯定是要执行的。 [rootpp yy]# [ 1 -le 2 ] || [ 2 -ge 3 ] [rootpp yy]# echo $? 0 [rootpp yy]# 这里有两个判断第一个判断是1小于等于2这个判断成立整体已经确定为真所以 整个判断为真返回值为0。 22.6 if判断语句 在脚本中执行某条命令需要满足一定的条件如果不满足就不能执行。此时我们就要用到 判断语句了。 先看if判断if判断的语法如下。 1 if 条件1 ; then 2 命令1 3 elif 条件2 ; then 4 命令2 5 else 命令3 6 fi 先判断if后面的判断是不是成立。 如果成立则执行命令1然后跳到f后面执行6后面的命令。 如果不成立则不执行命令1然后判断elif后面的条件2是不是成立。 如果成立则执行命令2然后跳到f后面执行f后面的命令。 如果不成立则不执行命令2进行下一轮的elif 判断以此类推。 如果所有if和elif都不成立则执行clse中的命令3。 练习1写一个脚本/opt/sc1.sh要求只有root用户才能执行此脚本其他用户不能执 行,命令如下。 [rootpp opt]# cat sc1.sh #/bin/bash if [ $UID ‐ne 0 ]; then echo 只有root才能执行此脚本 exit 1 fi echo hello root [rootpp opt]# [rootpp opt]# chmod x /opt/sc1.sh 脚本分析如下。 root的uid是0其他用户的uid不为0。第一个判断如果uid不等于0则打印警告信 息“只有root才能执行此脚本”然后exit退出脚本。 如果这里不加 exit判断之后仍然会继续执行echo hello root命令这样判断就失去 了意义。只有加了exit之后如果不是root则到此结束不要继续往下执行了。 如果是blab 执行此脚本则判断成立打印完警告信息之后通过exit退出脚本。 如果是 root执行此脚本则判断不成立直接执行f后面的命令。 使用root用户执行此脚本的结果如下。 [rootpp opt]# ./sc1.sh hello root [rootpp opt]# 使用iu用户执行此脚本的结果如下。 [iupp opt]$ ./sc1.sh 只有root才能执行此脚本 [iupp opt]$ 22.7 for循环语句       有时我们需要做多次重复的操作例如创建100个用户创建一个用户需要两条命 令:useradd和 passwd。那么创建100个用户就要重复执行100次总共执行200条命令 此时我们就可以利用for循环简化操作让系统自动帮我们重复运行即可。         for循环的语法如下。 1 for 变量 in 值‐1 值‐2 值‐3 值‐4 ; do 2 命令 $变量 3 done 这里首先把值-1赋值给变量执行do和done之间的命令所有命令执行完成之后再把 值-2赋值给变量执行do和done之间的命令执行完所有命令之后再把值-3赋值给变 量以此类推,直到把所有的值都赋值给变量。 看一个简单的例子如下所示。 [iupp opt]$ for i in 1 2 3 4 ; dolet i$i10echo $idone 11 12 13 14 [iupp opt]$ 这里for后面定义了一个变量i在in后面指定了4个值分别是1、2、3、4。在do和done 之间定义了两个命令第一个是在变量i的原有值的基础上加上10然后打印i的值。 先把1赋值给i此时i的值为1执行do和 done之间的命令。i加上10之后,i的值变为了 11然后打印i得到11第一次循环结束。 然后把2赋值给i此时i的值为2执行do和done之间的命令。i加上10之后i的值变为了 12然后打印i,得到12第二次循环结束。 22.8 while 循环语句 while也可以循环while循环的语法如下。 1 while 判断 ; do 2 命令1 3 命令2 4 done 如果while后面的判断成立则执行do和 done之间的命令在最后一个命令执行完成之 后,会回头再次判断一下while后面的判断是不是成立。如果不成立则跳出循环执行done后 面的命令;如果成立则继续执行do和 done之间的命令就这样循环下去。 先看一个简单的例子写一个脚本/opt/sc3.sh命令如下。 [rootpp opt]# cat sc3.sh #!/bin/bash declare ‐i n1 while [ $n -le 4 ] ; do echo $n let n$n1 done [rootpp opt]# [rootpp opt]# chmod x /opt/sc3.sh 脚本分析如下。 这里先通过declare -i n1定义了一个整数类型的变量n初始值为1。然后进入 while进 行循环先判断$n的值是不是小于等于4如果成立则执行do和 done之间的命令。 一开始$n的值为1[ $n -le 4 ]这个判断成立则进人 do和done之间执行命令。首先打 印Sn的值然后在此基础上给n 加上1所以n的值变为了2这样do和done之间的命令就 执行完成了。然后再次到while后面进行判断此时$n的值为2依然满足小于等于4再次 执行do 和 done之间的命令。 如此反复当$n的值最终能增加到4时打印然后加1此时n的值变为了5。当Sn的值变 为5之后while后面的判断就不再成立了此时会跳出 while循环。 用while也可以用于循环一个文件的内容用法如下。 1 while read aa ; do 2 命令 3 done file 这里read后面的变量aa是可以随意指定的整体的意思是首先读取file的第一行内容赋值 给aa执行do和 done之间的命令。然后读取file的第二行内容赋值给aa执行do和done 之间的命令直到读取到file的最后一行。 有时while需要一直循环下去死循环)语法如下。 1 while true ; do 2 命令 3 done 或 1 while ((1)) ; do 2 命令 3 done 或 1 while : ; do 2 命令 3 done 下面写一个脚本来实时判断vsftpd是否启动如果没有启动则将vsftpd启动命令如 下。 [rootpp opt]# cat sc4.sh #!/bin/bash while : ; do systemctl is‐active vsftpd /dev/null if [ $? -ne 0 ]; then systemctl start vsftpd fi sleep 1 done [rootpp opt]# [rootpp opt]# chmod x sc4.sh 这里写了一个 while循环可以一直循环下去循环中先判断vsftpd是否启动如果启动 了则返回值为0如果没有启动则返回值为非零。 下面开始根据返回值来进行判断如果$?不等于0说明vsftpd没有启动则启动vsftpd 服务。sleep 1的意思是暂停1秒这样就实现了每隔1秒来判断一次vsfilpd是否启动。 下面开始测试这个脚本先把脚本放在后台运行,命令如下。 [rootpp opt]# ./sc4.sh [1] 3788测试当前vsftpd 的状态命令如下。 [rootpp opt]# systemctl is‐active vsftpd active [rootpp opt]# 关闭vsftpd服务之后再次检测vsftpd 的状态命令如下。 [rootpp opt]# systemctl stop vsftpd [rootpp opt]# systemctl is‐active vsftpd active [rootpp opt]# 可以看到vsftpd 仍然是启动的说明我们的脚本生效了。
http://www.w-s-a.com/news/803860/

相关文章:

  • 网站友情链接购买天元建设集团有限公司资质
  • 南山商城网站建设哪家技术好株洲seo网站优化软件
  • 服务类网站建设18款禁用网站app直播
  • 电子商务网站建设需要物流网站开发公司
  • 网站的系统建设方式有哪些内容宁波网站建设公司
  • 网站开发 技术方案品牌建设总要求
  • 中卫网站建站设计seo专员的工作内容
  • h5商城网站是什么意思.net 网站开发框架
  • 西安网站改版的公司软件外包是什么意思
  • 网站建设了解眉山网站优化
  • 做网站用php还是node如何申请网站域名流程
  • 销售公司怎么做网站删除wordpress
  • 毕节网站怎么做seohtml代码特效银河系
  • 淄博品质网站建设网站引导页案例
  • 网站建设虚拟空间小豹子韬韬是哪个网站做的
  • 网络司网站如何建立公司网站建议和规则
  • 织梦网站模板后台密码找回企业vi设计公司性价比高
  • php 爬取网站所有链接传奇手游发布网站
  • 免费软文网站wordpress中文名注册
  • 企业网站建设研究目的意义怎样设计一个公司网站
  • 怎么架构网站便民信息发布平台
  • 网站 建设 现状网站推广合同需要缴纳印花税吗
  • 熊猫头表情包制作网站wordpress 缺省目录
  • 网站浏览图片怎么做的群晖wordpress升级5.0
  • 25个优秀个人网站设计模板网站建设定位分析论文
  • 在线网站备案站长seo综合查询工具
  • 网站根 html网站建设行业数据
  • 网站公司做的网站有最字设计说明室内设计
  • 在线网站代码生成我想做个百度网站怎么做
  • 网站的建设费用分为长治市建设厅官方网站