一、条件测试操作

1、test

用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值

格式:test 表达式

2、常见的测试类型

①测试文件状态

格式:[ 操作符 文件或目录 ]

常用的操作符:

-d:测试是否为目录

-f:测试是否为文件

-e:测试文件是否存在

-r:测试当前用户是否有读取的权限

-w:测试当前用户是否有写的权限

-x:测试当前用户是否有执行的权限

-L:测试是否为链接文件

②字符串比较

格式:[ 字符串1 = 字符串2 ]

[ 字符串1 != 字符串2 ]

[ -z 字符串1 ]

常用的测试操作符:

=:字符串内容相等

!=:字符串内容不相等

-z:字符串内容为空时,返回true,否则返回false

③整数值比较

格式:[ 整数1 操作符 整数2 ]

常用的测试操作符:

-eq:等于

-ne:不等于

-lt:小于

-le:小于等于

-gt:大于

-ge:大于等于

④逻辑测试

格式:[ 表达式1 ] 操作符 [ 表达式2 ]

常用的测试操作符:

-a:逻辑与,而且的意思,前后两个表达式都成立的时候,返回真,否则返回假

-o:逻辑或,或者的意思,前后两个表达式只要有一个成立,返回真,否则返回假

!:逻辑否,当指定的条件不成立时,返回真

二、if条件语句

1、单分支

2、多分支

三、case条件语句

四、while循环语句

五、for循环语句

六、continue跳过本次循环

七、break终止循环

八、shift迁移语句

用于传递位置变量,将$1~$9依次向左传递

1、若当前脚本程序获得的位置变量如下:

$1=file1 $2=file2 $3=file3 $4=file4

2、执行一次shift命令,各位置变量如下:

$1=file2 $2=file3 $3=file4

3、再次执行shift命令,各位置变量如下:

$1=file3 $2=file4

shell条件测试和流程控制的更多相关文章

  1. Shell条件测试和流程控制-4

  2. [Shell]条件判断与流程控制:if, case, for, while, until

    ---------------------------------------------------------------------------------------------------- ...

  3. shell条件判断与流程控制

    一 条件判断式语句 1.按文件类型进行判断 测试类型 作用 -b 文件 判断文件是否存在,并且是否为块设备文件(是块设备文件为真) -c 文件 判断文件是否存在,并且是否为字符设备文件(是字符设备设备 ...

  4. shell条件测试test

    shell条件测试可以通过以下两种方式: test   参数    测试内容 [ 参数  测试内容 ] 一.测试文件类型: test  -e   文件名          (测试文件是否存在) [ - ...

  5. shell条件测试语句实例-测试apache是否开启

    终于理解了shell条件测试语句"!="和"-n"的用法区别,于是有了如下的shell脚本,做为练习. 第一种方法:测试apache是否开启?字符串测试 #!/ ...

  6. Shell脚本 (三) 条件判断 与 流程控制

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 六.条件判断 1.基本语法 [ condition ](注意condition 前后要有空格) 注意:条 ...

  7. 【重点】Shell入门教程:流程控制(2)条件判断的写法

    第三节:条件判断的写法 if条件判断中,if的语法结构中的“条件判断”可以有多种形式.测试结果是真是假,就看其传回的值是否为0. 条件测试的写法,有以下10种: 1.执行某个命令的结果 这里的命令,可 ...

  8. shell编程-条件判断与流程控制

    1.条件判断式 按照文件类型进行判断: 两种判断格式: test -e /root/install.log [ -e /root/install.log ] 判断命令是否正确执行: [ -d /roo ...

  9. shell(shell变量、条件表达式、流程控制)

    本章内容: 变量 运算 if语句 for语句 while语句 break.continue 实例 shell变量 1.shell变量简介 变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数 ...

随机推荐

  1. SpringMvc date数据传递处理

    1.form表单提交date数据 form表单提交的date数据要在接收的字段上加入@DateTimeFormat注解 @DateTimeFormat(pattern = "yyyy-MM- ...

  2. 3XX重定向

        3XX响应结果表明浏览器需要执行某些特殊的处理以正确处理请求 301 Moved Permanently  永久性重定向     该状态码表示请求的资源已经被分配了新的URI,以后应使用资源现 ...

  3. 报错 POST http://192.168.79.165:8015/marketing/manager 400 (BAD REQUEST) 解决办法

    我用jQuery ajax post方法 用flask url_for 传值到后端 $.ajax({ url:"{{url_for('marketing.manager')}}", ...

  4. UDP的优点

    UDP优点 关于何时.发送什么数据的应用层控制更为精细 只需要应用层把数据传给UDP,UDP就把数据打包到网络层.对于TCP来说,存在一个拥塞控制机制,当链路变得拥塞时,会抑制TCP发送方,并造成数据 ...

  5. 浅谈Android选项卡(三)

    上一节介绍了TabActivity的简单用法,但是现在的Api中已经不建议使用了,建议使用Fragment来替代以上的功能,下面介绍下使用Fragment和ViewPager的结合使用. http:/ ...

  6. java集合中的HashMap源码分析

    1.hashMap中的成员分析 transient Node<K,V>[] table; //为hash桶的数量 /** * The number of key-value mapping ...

  7. react onclick传递参数

    最近在做react项目的时候,被一个小问题绊了一脚,记录一下 onClick 传入参数 onClick={e=>{this.Mallclose(e,index)} onClick={this.M ...

  8. docker入门之基础操作

    docker,我们可以把docker当作是简单的虚拟机.但这个虚拟机不像vm一样安装系统.所以我们又称之为容器.你可以理解成,容器就是虚拟机 docker与vm的对比 vmware:下载镜像——安装系 ...

  9. You need to use a Theme.AppCompat theme (or descendant) with this activity问题

    You need to use a Theme.AppCompat theme (or descendant) with this activity问题 https://blog.csdn.net/j ...

  10. ADC新库

    1.单次采集模式 1.在STM32CUBMX中设置为单次采集模式 2.在C文件中用HAL_ADC_START()函数启动ADC 3.用HAL_ADC_PollForConversion()延时等待采集 ...