示例脚本及注释


#!/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命令的标识;
# - 右中括号“]”是关闭条件判断的标识;

最新文章

  1. expect安装去测试
  2. oracle 建立主键与索引【转】
  3. PHP利器-WAMPServer
  4. spm_预处理实验记录
  5. B. Sereja and Mirroring
  6. 单链表反转(递归和非递归) (Java)
  7. [勘探开发]成绩,全栈开发,健全&借贷
  8. webapp之路--理解viewport的使用
  9. Java--定时器问题
  10. jQuery Mobile Slider 禁用点击事件
  11. 阿里云API网关(2)开放 API 并接入 API 网关
  12. 改变选择文字的color及background-color
  13. 优秀的gdb图形化前端调试器
  14. R语言学习——根据信息熵建决策树KD3
  15. binlog开启和查看
  16. Android - AsyncTask你知道多少?
  17. qt学习(三) qt布局
  18. 20155307 2016-2017 《Java程序设计》第三次实验报告
  19. robot framework 安装
  20. Ubuntu 下安装Beyond Compare【转】

热门文章

  1. 牛客训练六:海啸(二维树状数组+vector函数的使用)
  2. dj 分页器组件
  3. MySQL 安装与使用(三)
  4. word图文混排复制到UEditor图片不显示
  5. VS2008 + QGIS1.7.1试验
  6. 机器学习之Apriori算法和FP-growth算法
  7. 团队项目之UML图设计---WeEdit
  8. POJ1274 The Perfect Stall
  9. ubuntu下Node.js环境搭建
  10. artificial neural network in spark MLLib