示例脚本及注释


#!/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)的更多相关文章

  1. Shell - 简明Shell入门04 - 判断语句(If)

    示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var if test $var # test - check file types and compare va ...

  2. Linux - 简明Shell编程05 - 条件语句(Case)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...

  3. Linux - 简明Shell编程06 - 循环语句(Loop)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash # for循环 for fil ...

  4. Linux - 简明Shell编程13 - 用户输入(UserInput)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 1 - arguments #!/bin/bash i ...

  5. Linux之shell编程条件判断-if,while,for,case

    if 语法格式 if condition then statements [elif condition then statements] [else statements ] fi 示例 vi if ...

  6. Linux - 简明Shell编程03 - 字符串(String)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash str="Shell ...

  7. Linux - 简明Shell编程08 - 函数(Function)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash function Check( ...

  8. Linux - 简明Shell编程12 - 定制输出(ColorOutput)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo -e "\ ...

  9. Linux - 简明Shell编程14 - 操作符(Operator)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "No c ...

随机推荐

  1. P2727 Stringsobits

    01串 Stringsobits 题目背景 考虑排好序的N(N<=31)位二进制数. 题目描述 他们是排列好的,而且包含所有长度为N且这个二进制数中1的位数的个数小于等于L(L<=N)的数 ...

  2. sublime text 3 配置python IDE

    Python越来越受“程序猿”们的青睐.快速的开发模式,简洁的代码格式,海量的扩展,这无疑都为python的火热奠定了基础. “磨刀不误砍柴工”,一款功能强劲的IDE能帮助开发者有效的管理.编辑,运行 ...

  3. 角点检测和匹配——Harris算子

    一.基本概念 角点corner:可以将角点看做两个边缘的交叉处,在两个方向上都有较大的变化.具体可由下图中分辨出来: 兴趣点interest point:兴趣点是图像中能够较鲁棒的检测出来的点,它不仅 ...

  4. java的字符串操作和for循环的使用

    /* "12 0 99 -7 30 4 100 13" 要求对字符串中的数值进行排序.生成一个数值从小到大新字符串. "-7 0 4 12 13 30 99 100&qu ...

  5. xtrabackup备份mysql数据库的使用方法

    xtrabackup是由percona提供的mysql备份工具,它是一款物理备份工具,通过连接数据库把数据库的数据备份出来.对于innodb存储引擎其支持全量备份和增量备份.对于myisam存储引擎只 ...

  6. 如何用快速傅里叶变换实现DFT

    [目标]   如何以 \(O(N \log N)\) 的效率将系数多项式转换为点值多项式. [前置技能]   众所周知,\(x^n=1\)的根有n个,而且它们分别是\(e^{\frac{2*π*i}{ ...

  7. one plus 1(一加1)刷 kali nethunter 教程

    刚刚入手的一加1,刷成了h2os再进行的本次刷机. 用到以下资源: 链接:http://pan.baidu.com/s/1o7S0xzs 密码:2gvm 好了,开始正题,如果你的系统不是H2OS建议先 ...

  8. zlib报“LNK2001:无法解析的外部符号”错误

    这个错误一般是由使用导出dll时未加载对应的lib文件导致的,但是工程在正确配置了lib文件的情况下仍然报这个错误,经查,是由于dll导入工程和dll导出工程的函数调用约定不一致导致的. 一.函数调用 ...

  9. python基础(5):数字和字符串类型

    今天总结一下数据类型中的数字和字符串型. 预习: 小练习 一.数字(int,float) 在python3中数字类型只有整形,浮点型,复数.而复数在平时的编程中几乎用不到所以我们只要掌握整形和浮点型即 ...

  10. 如何在通过knockout数据绑定的DOM元素上添加事件

    通过knockout数据绑定的DOM元素,通过chrome控制台打断点知道,DOM元素会被暂时隐藏,使用document.querySelector()是获取不到的,会显示null,直到数据绑定完成才 ...