Linux - 简明Shell编程04 - 判断语句(If)
示例脚本及注释
#!/bin/bash
var=$1 # 将脚本的第一个参数赋值给变量var
if test $var # test - check file types and compare values
then
if [ $var == "right" ];then # “[]”是调用test命令的一种形式,"[]"两边必须加空格;
echo "Right!"
elif test $var = "wrong";then # 比较字符串时,“=”等价与“==”,两边必须加空格;
echo "Wrong!"
else
echo "Nothing!"
fi
else
echo "No arguments!"
fi
# ### if/else流程控制
# - elif语句和else语句是非必须语句,根据需要添加;
# - 条件下的执行体不能为空;
#
#
# ### test命令
# - Shell中的test命令用于检查某个条件是否成立,可以进行数值、字符和文件的测试
# - 通常用“[]”来表示条件测试。使用"[]"时,两边必须加空格;
# - 通过man命令获取test命令的详细信息;
# 0)常用
# [ -f somefile ] :判断是否是一个文件
# [ -x /bin/ls ] :判断/bin/ls是否存在并有可执行权限
# [ -n $var ] :判断$var变量是否有值
# [ $a = $b ] :判断$a和$b是否相等
# 1)判断表达式
# if test (表达式为真)
# if test !表达式为假
# test 表达式1 –a 表达式2 两个表达式都为真
# test 表达式1 –o 表达式2 两个表达式有一个为真
# 2)判断字符串
# test –n 字符串 字符串的长度非零
# test –z 字符串 字符串的长度为零
# test 字符串1=字符串2 字符串相等
# test 字符串1!=字符串2 字符串不等
# 3)判断整数
# test 整数1 –eq 整数2 整数相等
# test 整数1 –ge 整数2 整数1大于等于整数2
# test 整数1 –gt 整数2 整数1大于整数2
# test 整数1 –le 整数2 整数1小于等于整数2
# test 整数1 –lt 整数2 整数1小于整数2
# test 整数1 –ne 整数2 整数1不等于整数2
# 4)判断文件
# test File1 –ef File2 两个文件具有同样的设备号和i结点号
# test File1 –nt File2 文件1比文件2 新
# test File1 –ot File2 文件1比文件2 旧
# test –b File 文件存在并且是块设备文件
# test –c File 文件存在并且是字符设备文件
# test –d File 文件存在并且是目录
# test –e File 文件存在
# test –f File 文件存在并且是正规文件
# test –g File 文件存在并且是设置了组ID
# test –G File 文件存在并且属于有效组ID
# test –h File 文件存在并且是一个符号链接(同-L)
# test –k File 文件存在并且设置了sticky位
# test –b File 文件存在并且是块设备文件
# test –L File 文件存在并且是一个符号链接(同-h)
# test –o File 文件存在并且属于有效用户ID
# test –p File 文件存在并且是一个命名管道
# test –r File 文件存在并且可读
# test –s File 文件存在并且是一个套接字
# test –t FD 文件描述符是在一个终端打开的
#
#
# ### “[]”与test命令
# - 实际上“[]”是调用test命令的一种形式;
# - 左中括号“[”是系统的一个内置命令,存在路径是“/bin/[”,是调用test命令的标识;
# - 右中括号“]”是关闭条件判断的标识;
Linux - 简明Shell编程04 - 判断语句(If)的更多相关文章
- Shell - 简明Shell入门04 - 判断语句(If)
示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var if test $var # test - check file types and compare va ...
- Linux - 简明Shell编程05 - 条件语句(Case)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...
- Linux - 简明Shell编程06 - 循环语句(Loop)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash # for循环 for fil ...
- Linux - 简明Shell编程13 - 用户输入(UserInput)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 1 - arguments #!/bin/bash i ...
- Linux之shell编程条件判断-if,while,for,case
if 语法格式 if condition then statements [elif condition then statements] [else statements ] fi 示例 vi if ...
- Linux - 简明Shell编程03 - 字符串(String)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash str="Shell ...
- Linux - 简明Shell编程08 - 函数(Function)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash function Check( ...
- Linux - 简明Shell编程12 - 定制输出(ColorOutput)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo -e "\ ...
- Linux - 简明Shell编程14 - 操作符(Operator)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "No c ...
随机推荐
- 5.VBS的一些约定,提高可读性
1.变量命名约定 2.变量作用域 1)过程级,在事件中,函数或者子过程中 2)Script级,在head部分 原则,定义尽量小的作用域 3.在某个过程开头应该包括这些注释
- Hibernate基础知识总结
Hibernate是JDBC的轻量级的对象封装(encapsulation),它是一个独立的对象持久persistence层框架. hibernate要做的事,就是让对象投影到关系数据库中,然后实施化 ...
- 【Socket】Java Socket基础编程
Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...
- accp8.0转换教材第4章MySQL高级查询(二)理解与练习
知识点:EXISTS子查询.NOT EXISTS子查询.分页查询.UNION联合查询 一.单词部分 ①exist存在②temp临时的③district区域 ④content内容⑤temporary暂时 ...
- JSON详细总结
/** * Created by fa on 2016/3/15. */ var data = { name:"hello", children:[{ name:"chi ...
- (转载)jConsole,jvisualvm和jmap使用
原文链接:http://my.oschina.net/freegarden/blog/286372 摘要 Oracle JVM自带了一些工具,观察java程序的运行,用于排错调优.正文将会对 jCon ...
- English - 被动语态的翻译原则
被动语态翻译原则 1. Passive ----> Active The bag is stolen by him. One the whole, such a conclusion can b ...
- Unity3D 物体移动到指定点
transform.position=Vector3.MoveTowards(transform.position , Target.position, speed * Time.deltaTime) ...
- python基础(4):条件语句与循环语句
今天我们看看条件语句与循环语句. 预习: 1.使用while循环输出1 2 3 4 5 6 8 9 10 2.求1-100的所有数的和 3.输出 1-100 内的所有奇数 4.输出 1-100 内的所 ...
- php工作两年了。。。
对于一个快要毕业的人来说,我相信大部分人都是迷茫的,我也一样但是迷茫的一塌糊涂完全不知道以后自己能干什么. 2014年底,某某培训机构来到学校进行招生.反正在对方的一阵忽悠之下我是蠢蠢欲动,但是当时的 ...