【Linux】鸟哥的Linux私房菜基础学习篇整理(七)
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内容显示到屏幕上。
最新文章
- python中使用正则表达式
- Android自动化学习笔记:获取APK包名的几种方法
- 大数据下的Distinct Count(一):序
- Handler 原理分析和使用(二)
- 再回首,Java温故知新(一):Java概述
- nyoj 2
- jQuery常用及基础知识总结(一)
- C#操作XML方式
- js分享功能
- 使用Java High Level REST Client操作elasticsearch
- 四边形不等式优化DP
- 英语进阶系列-A04-英语升级练习二
- echarts-环形图处理图列中的点击,使百分比的数据列不发生变化,默认追加其他选项
- Win10添加右键在此处打开命令行
- vue实现pc端无限加载功能
- JAVA中String.format()的使用
- 5W2H分析法
- python 全栈开发,Day58(bootstrap组件,bootstrap JavaScript 插件,后台模板,图表插件,jQuery插件库,Animate.css,swiper,运行vue项目)
- 02.centos6.4找不到ifcfg-eth0(静态ip配置)
- python 游戏(船只寻宝)
热门文章
- Android群英传》读书笔记 (3) 第六章 Android绘图机制与处理技巧 + 第七章 Android动画机制与使用技巧
- frame模型
- Python之路【第十四篇】:AngularJS --暂无内容-待更新
- PL/SQL 批量SQL
- 【转】Windows环境下.NET 操作Oracle问题
- vlc_input buffer管理 &; 时钟同步(转)
- Android 学习手札(备注)
- 兼容IE6的页面底部固定层CSS代码
- Winform控件Enable=false显示优化
- sphinx 简介以及安装 以及php拓展开启