1. test命令的测试功能。
测试的标志:
(1)关于文件类型的检测 test [-efdbcSpL] filename
-e:该文件名是否存在;
-f:该文件名是否为文件;
-d:该文件名是否为目录;
-b:该文件名是否存在且为一个block device设备;
-c:该文件名是否存在且为一个character device设备;
-S:该文件名是否存在且为一个Socket文件;
-p:该文件名是否存在且为一个FIFO文件;
-L:该文件名是否存在且为一个连接文件。
(2)关于文件权限的检测 test [-r] filename
-r:检测该文件名是否存在且具有可读属性;
-w:检测该文件名是否存在且具有可写属性;
-x:检测该文件名是否存在且具有可执行属性;
-u:检测该文件名是否存在且具有SUID属性;
-g:检测该文件名是否存在且具有SGID属性;
-k:检测该文件名是否存在且具有Sticky bit属性;
-s:检测该文件名是否存在且为非空白文件。
(3)两个文件之间的比较,如test file1 -nt file2
-nt:newer than 判断file1是否比file2新;
-ot:older than 判断file1是否比file2旧;
-ef:判断file1与file2是否为同一文件名,可用在判断hard link的判定上,主要判定是否指向同一个inode。
(4)两个整数之间的比较,如test n1 -eq n2
-eq:相等;
-ne:不相等;
-gt:n1大于n2;
-lt:n1小于n2;
-ge:n1大于或等于n2;
-le:n1小于或等于n2。
(5)判定字符串
test -z string:判定字符串是否为空;
test -n string:判定字符串是否为非空;
test str1 = str2:判定str1是否等于str2;
test str1 != str2:判定str1是否不等于str2。
(6)多重条件判定
-a:两个条件同时成立,如test -r file -a -x file,若判断file是否同时具有可读与可执行属性;
-o:任何一个条件成立,如test -r file -o -x file,若判断file是否具有可读或可执行属性;
!:反向状态,如test ! -x file,判断file是否不具备可执行属性。

2. 利用判断符号[]。
[]可以代替test,需要注意中括号的两端需要有空格符来分隔。如,[ -z "$HOME" ],判断HOME变量是否为空。

3. shell script的默认变量。
$0:执行的脚本文件名;
$1,$2,$3...:第n个参数;
$#:后面接的参数的个数;
$@:代表全部的参数,每个变量都是独立的,以空格分隔,使用引号括起来;
$*:代表"$1c$2c$3",c代表分隔符,默认为空格。

4. sh [-nvx] script.sh:shell script的追踪与调试。
参数:
-n:不要执行script,仅检查语法问题;
-v:在执行script前,先将script的内容输出到屏幕上;
-x:将使用到的script内容显示到屏幕上。

最新文章

  1. python中使用正则表达式
  2. Android自动化学习笔记:获取APK包名的几种方法
  3. 大数据下的Distinct Count(一):序
  4. Handler 原理分析和使用(二)
  5. 再回首,Java温故知新(一):Java概述
  6. nyoj 2
  7. jQuery常用及基础知识总结(一)
  8. C#操作XML方式
  9. js分享功能
  10. 使用Java High Level REST Client操作elasticsearch
  11. 四边形不等式优化DP
  12. 英语进阶系列-A04-英语升级练习二
  13. echarts-环形图处理图列中的点击,使百分比的数据列不发生变化,默认追加其他选项
  14. Win10添加右键在此处打开命令行
  15. vue实现pc端无限加载功能
  16. JAVA中String.format()的使用
  17. 5W2H分析法
  18. python 全栈开发,Day58(bootstrap组件,bootstrap JavaScript 插件,后台模板,图表插件,jQuery插件库,Animate.css,swiper,运行vue项目)
  19. 02.centos6.4找不到ifcfg-eth0(静态ip配置)
  20. python 游戏(船只寻宝)

热门文章

  1. Android群英传》读书笔记 (3) 第六章 Android绘图机制与处理技巧 + 第七章 Android动画机制与使用技巧
  2. frame模型
  3. Python之路【第十四篇】:AngularJS --暂无内容-待更新
  4. PL/SQL 批量SQL
  5. 【转】Windows环境下.NET 操作Oracle问题
  6. vlc_input buffer管理 & 时钟同步(转)
  7. Android 学习手札(备注)
  8. 兼容IE6的页面底部固定层CSS代码
  9. Winform控件Enable=false显示优化
  10. sphinx 简介以及安装 以及php拓展开启