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

xuzhou公司网站制作专业律所网站建设

xuzhou公司网站制作,专业律所网站建设,钱建网站,wordpress多合一目录 一、条件测试的基本语法 二、文件测试表达式 三、字符串测试表达式 四、整数测试表达式 五、逻辑操作符 六、实验 为了能够正确处理 Shell 程序运行过程中遇到的各种情况, Linux Shell 提供了一组测试运算符。 通过这些运算符,Shell 程序能够…

目录

一、条件测试的基本语法

二、文件测试表达式

三、字符串测试表达式

四、整数测试表达式

五、逻辑操作符

六、实验 


为了能够正确处理 Shell 程序运行过程中遇到的各种情况, Linux Shell 提供了一组测试运算符。 通过这些运算符,Shell 程序能够 判断某种或者几个条件是否成立 。条件测试在各种流程控制语句,例如判断语句和循环语句中发挥了重要的作用,所以,了解和掌握这些条件测试是非常重要的

一、条件测试的基本语法

条件测试语法说明
test  <测试表达式>
test 命令和 < 测试表达式 > 之间至少有一个空格
[  测试表达式  ]
[ ]  边界和内容之间至少有一个空格
[[  测试表达式  ]]
[[ ]]  的边界和内容之间至少有一个空格。 [[]] 中可以使用通配符等进行模式匹配
((测试表达式))
一般用于 if 语句里,双小括号两端不需要有空格,测试对象只能是整数

二、文件测试表达式

常用的文件测试操作符
说明
        -a/-e 文件文件是否存在
        -b 文件
文件是否存在,且为块文件,如果文件存在且是一个块文件,则结果为0
       -c 文件
文件是否存在且为字符文件,如果文件存在且是一个字符文件,则结果为0
        -L 文件
文件存在且为链接文件则为真
        -d 文件
文件存在且为目录则为真,即测试表达式成立
        -f 文件
文件存在且为普通文件则为真,即测试表达式成立
        -s 文件
文件存在且文件大小不为 0 则为真
        -u 文件
文件是否设置 suid 位,如果设置了 suid ,则结果为 0
        -r文件
文件存在且可读为真
        -w 文件
文件存在且可写为真
        -x 文件
文件存在且可执行则为真
f1 -nt f2 nt为 newer than
文件 f1 比文件 f2 新则为真,根据文件的修改时间来计算   stat  文件或目录查看时间
f1 -ot f2 ot older than
文件 f1 比文件 f2 旧则为真,根据文件的修改时间来计算

三、字符串测试表达式

常用字符串测试操作
说明
-n “ 字符串”
若字符串的长度不为 0 ,则为真,即测试表达式成立, n 可以理解为 no zero
-z “字符串”
若字符串的长度为 0 ,则为真, z 可以理解为 zero。可以用来判断是否为空
1”=“ 2”
若字符串 1 等于字符串 2 ,则为真,可使用 == 代替 =
1”!=“ 2”
若字符串 1 不等于字符串 2 ,则为真

四、整数测试表达式

在  [ ]  以及  test  中使用的比较符
在  (( ))  和  [[ ]]  中使用的比较符
说明
-eq==或=相等,equal
-ne!=不相等,not equal
-gt>

大于,greater than

-ge>=大于等于,greater equal
-lt小于,less than
-le<=小于等于,less equal

五、逻辑操作符

在  [ ]   中使用的逻辑操 作符
test [[ ]]  和  (( ))  中使用的逻辑操 作符
说明
-a&&
and ,与,两端都为真,则结果为真
-o||
or ,或,两端有一个为真,则结果为真
!!
not ,非,两端相反,则结果为真

 使用&&等符号的错误示例:&&不能用在 [ ] 中

[root@localhost test3] # [ -f ceshi && -f file ];echo $?
-bash : [: missing `]'
2
[root@localhost test3] # [ -f ceshi || -f file ];echo $?
-bash : [: missing `]'
-bash : -f : command not found
127
使用 && 等符号的正确示例:
[root@localhost test3] # [ -f file ] && [ -f ceshi ];echo $?
1
[root@localhost test3] # [ -f file ] || [ -f ceshi ];echo $?0
[root@localhost test3] # [ -f file ] || [ -d ceshi ];echo $?

六、实验 

实验1: 让用户输入一个文件名,并做如下判断:

1 )如果用户输入的文件为空时显示: you must input a filename ,并中断程序;
2 )如果用户输入的文件不存在时,显示 the file do not exist ,并中断程序;
3 )如果文件存在,判断该文件的文件类型和执行者对该文件所拥有的的权限。
说明:由于 root 在很多权限的限制上面都是无效的,所以使用 root 执行这个脚本时,常常会发现与 ls -l 的结果不相同。所以建议使用一般用户来执行这个脚本
#! /bin/bash
read -p "please input filename:" file
[ -z $file ] && echo "you must input a filename!!!"&& exit
[ ! -e $file ] && echo "the $file do not exit."&& exit
[ -b $file ] && echo "the $file is block" 
[ -d $file ] && echo "the $file is dir" 
[ -f $file ] && echo "the $file is file" 
[ -r $file ] && echo "has a read previlege"
[ -w $file ] && echo "has a write previlege"
[ -x $file ] && echo "has a execute previlege"
[ ! -r $file -a ! -w $file -a ! -x $file ] && echo "is not any previlege"
~              
测试:

实验2: 通过read传入一个数字,如果传入的数字等于1,就打印1;如果等于2,就打印2,如果不等于1 也不等于2,就提示输入不对,然后退出程序。

实验3:通过read读入两个整数,并比较他们的大小

实验4:选择一个用户输入,判断是root账户还是系统账户还是普通账户 

实验5:给定文件/etc/sos/sos.conf,判断是否存在空白行,若存在则显示行 数,否则显示“无空白行提示信息

下面判断大小时:[ $num -gt 0 ] 可以写成(($num > 0))

 

http://www.yayakq.cn/news/231197/

相关文章:

  • 58做网站联系电话免费网站收录入口
  • 南宁建站模板源码石家庄营销型网站建设费用
  • 广东省住房和建设局官方网站北京死亡病例最新消息
  • 做变形字的网站施工企业财务工作总结及工作计划
  • 惠州自适应网站建设中信建设有限责任公司四川分公司
  • 杭州公司车牌摇号申请流程网站建设及优化
  • 自字网站建设教程怎么做网页中不显示项目符号
  • 做淘客网站dedecms网站地图前台路径不修改
  • PHP网站开发简单实例如何用ppt做网站
  • 小灯具网站建设方案公司网站建设需求表
  • 用yershop做网站wordpress高亮插件
  • 论文收录网站排名厦门seo排名优化方式
  • 如何找网站足球排行榜前十名
  • jsp网站设计教学做一体化教程wordpress电商推广插件
  • 宿州城乡建设局网站建设装修公司网站
  • 自己如何在网上做网站网站备案负责人幕布照
  • 3d打印网站开发建设一个公司网站
  • 做外贸推广的网站有哪些网站优化排名方法有哪些
  • wordpress网站维护页面模板vs做网站需要的插件
  • 云服务器建立多个网站徐州鸿美网站建设
  • 广西网站推广深圳营销建网站公司
  • 五八同城网站开发了多久怎么查看网站disallow
  • 贺州 网站建设公司有哪些做孵化的网站
  • 展示型网站 asp.net写作网站保底和全勤的区别
  • 有哪里可以做兼职翻译的网站宁波做网站制作
  • 中国建设银行绑定网站建设微网站的特色
  • 长春网络建站模板wordpress取消页尾
  • 建个网站需要多少钱费用那些开店的网站是自己做的吗
  • 电商网站建设代码大全阿里云主机建网站
  • 管理网站 开发西宁网站设计公司