read命令 命令的语法:

read [参数] 变量名 常用的参数如下:

-t timeout 设定超时时间。

-p prompt 设定提示信息,该提示信息将会显在光标前。

条件测试:

条件测试可以判断脚本程序运行的状态。它常用于条件分支,以便在不同的运行状态下执行不同的命令。

[ param1 判断符号 param2 ]

[ 判断符号 param ]

条件测试的3种表达形式

[ [ command ] ]

[ command ]

test comand

文件状态测试:

-b filename 判断文件filename是否为块设备,若文件不存在返回假。

-c filename 判断文件filename是否为字符设备,若文件不存在返回假。

-d pathname 判断路径pathname是否为目录,若路径不存在返回假。

-e pathname 判断路径pathname是否存在。

-f filename 判断文件filename是否为真会文件,若文件不存在返回假。

-g pathname 判断路径pathname是否设置了SGID位,若路径不存在返回假。

-h filename 判断文件filename是否为链接文件,若文件不存在返回假。

-k pathname 判断路径pathname是否设置了“粘滞”位,若路径不存在返回假。

-p filename 判断文件filename是否为管道文件,若文件不存在返回假。

-r pathname 判断路径pathname是否为可读,若路径不存在返回假。

-s filename 判断文件filename的尺寸是否大于0,若文件不存在返回假。

-S filename 判断文件filename是否是Socket,文件不存在返回假。

-u pathname 判断路径pathname是否设置了SUID位,若路径不存在返回假。

-w pathname 判断路径pathname是否为可写,若路径不存在返回假。

-x pathname 判断路径pathname是否为可执行,若路径不存在返回假。

-O pathname 判断路径pathname是否为当前用户所拥有,若路径不存在返回假。

-G pathname 判断路径pathname的用户组是否为当前用户所在组,若路径不存在返回假。

file1 -nt file2 判断文件file1是否比文件file2新。

file1 -ot file2 判断文件file1是否比文件file2旧。

逻辑操作

param1 –a param2 逻辑与。

param1 –o param2 逻辑或。

! param 逻辑非。

&& 逻辑与

||  逻辑或

字符测试:

-z string 判断字符串string是否为空串,即长度为0。

-n string 判断字符串string 是否为非空串。

string1 = string2 判断字符串string1和string2是否相等。

string1 != string2 判断字符串string1和string2是否不等。

string1 < string2 按字符编码表排序,字符串string1是否在string2之前。

string1 > string2 按字符编码表排序,字符串string1是否在string2之后。

数值测试:

val1 –eq val2 判断val1和val2的数值是否相等。

val1 –ne val2 判断val1和val2的数值是否不等。

val1 –lt val2 判断val1是否小于val2。

val1 –le val2 判断val1是否小于等于val2。

val1 –gt val2 判断val1是否大于val2。

val1 –ge val2 判断val1是否大于等于val2。

shell中的条件判断的更多相关文章

  1. shell中的条件判断以及与python中的对比

    shell中比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格. if ....; then          ...

  2. linux shell中的条件判断语句

    http://bbs.chinaunix.net/thread-396805-1-1.html shell 判断语句 流程控制 "if" 表达式 如果条件为真则执行then后面的部 ...

  3. shell中的条件判断if和测试

    (一)条件判断 if 中-z 到 -d 的意思 [ -a file ] 若file存在,则为真. [ -b file ] 若file存在且是一个块特殊文件,则为真. [ -c file ] 若file ...

  4. shell中的条件判断、参数以及变量替换

    文章转自: http://www.cnblogs.com/maxupeng/archive/2011/07/02/2096551.html 一.test命令 test命令是shell内部命令,它计算作 ...

  5. Shell编程中的条件判断(条件测试)

    Shell中的条件判断(测试)类型: 1) 整数测试 2) 字符测试 3) 文件测试 条件测试的表达式:        (注: expression 与 [] 之间空格不能省略) [ expressi ...

  6. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

  7. Shell脚本IF条件判断和判断条件总结

    转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结 ...

  8. sql 语句中使用条件判断case then else end

    sql 语句中使用条件判断case then else end范例: SELECT les.[nLessonNo] FROM BS_Lesson AS les WHERE les.[sClassCod ...

  9. Shell学习(六)——条件判断总结

    Shell学习(六)--条件判断总结 [1]https://www.cnblogs.com/zhw-626/p/8528001.html [2]https://www.cnblogs.com/yizh ...

随机推荐

  1. Spring源码入门——XmlBeanDefinitionReader解析

    接上篇[] ,我们看到BeanDefinitionReader解决的是从资源文件(xml,propert)到BeanDefinition集合的过程.所以BeanDefinitionReader接口有两 ...

  2. openCV 2.4.13 iOS background_segm.hpp 'list' file not found

    最近下载了最新版的OpenCV的Framework. 导入到项目里边,编译.然后就出现了问题 /opencv2.framework/Headers/video/background_segm.hpp: ...

  3. android webview内容压线问题解决方法

    最近在使用webview做页面开发,项目上要求webview在获取到焦点的时候需要有边框线,于是添加上了webview的选中效果,但是出现了网页中的内容压选中框的情况.之后给webview添加padd ...

  4. [Webpack 2] Ensure all source files are included in test coverage reports with Webpack

    If you’re only instrumenting the files in your project that are under test then your code coverage r ...

  5. 文件和目录之chdir、fchdir和getcwd函数

    每个进程都有一个当前工作目录,此目录是搜索所有相对路径名的起点(不以斜杠开始的路径名为相对路径名).当用户登录到UNIX系统时,其当前工作目录通常是口令文件(/etc/passwd)中该用户登录项的第 ...

  6. PureMVC(JS版)源码解析:总结

    PureMVC源码中设计到的11个类已经全部解析完了,回首想想,花了一周的时间做的这点事情还是挺值得的,自己的文字组织表达能力和对pureMVC的理解也在写博客的过程中得到了些提升.我也是第一次写系列 ...

  7. linux监控程序

    IP内部地址: 方法一:ifconfig |grep 'inet addr'|grep '192.168.1' | awk '{print $2}'| tr -d "addr:" ...

  8. 真相:中国版BBB用USB连电脑没有盘符的根本原因分析

    很多网友在问:为什么中国版的装完驱动插上板子没有显示端口号和69M的盘符??楼主发现,在开机启动的时候,加载g_multi模块时出现错误提示 invalid argument.         Emb ...

  9. iOS 网络编程:NSURLConnection

    1 简介 1.1 概念 NSURLConnection类似NSURLSession,都是进行网络数据传输的.其中NSURLSession是NSURLConnection的替代版本,目前IOS9.0几乎 ...

  10. Memcached原理

    Memcached是一套高性能的.分布式内存对象缓存系统.它由C写成,以Key/Value的方式将数据储存在内存中. 一.Memcached特性 Memcached作为高速运行的分布式缓存服务器,具有 ...