bash 基础
bash是一些基本的命令组成,要想学好bash脚本,基本命令是必须要记住
红色标记为着重点
1执行命令,利用状态返回值来判断
0 : 成功
1-255:失败
2: 测试表达式
[ expression ] 常用
[[ exprseeion ]]
bash 的测试类型
字符串字型 文件字型
测试数值:比较大小
-eq : 是否等于 [ $1 -eq $2 ]
-ne : 是否不等于 [ $1 -ne $2]
-gt : 是否大于 [ $1 -gt $2 ]
-ge : 是否大于等于[ $1 -ge $2 ]
-lt : 是否小于 [ $1 -lt $2 ]
-le : 是否小于等于 [ $1 -le $2 ]
字符串测试。字符串比较
==: 是否等于
> :是否大于
< : 是否小于
! = :是否不等于
=~: 左侧字符串的字符能够被右侧的pattern所匹配
-z " string" 判断指定的字符串是否为空。空则为真,不空则假
-n "string" 判断指定的字符串是否为不空。不空则为真,不空为假
注意:
(1) 字符串要加引号
(2) 在作字符串的比较的时候,格式如下:
if [ "$VARIABLE" == "$VARIABLE" -a "$VATIABLE" == "CPU" ];then 需要在运算符号两边有空格 ,并且使用双引号将字符串包裹起来,这样即使是变量也可以替换
文件测试
存在性测试
-a file //a -a b (:和)
-e file //检测存在性
文件的存在性测试,存在为真,否则为假
文件类型测试
-b file:是否存在并且为块设备文件
-c file:是否存在并且为字符设备文件
-d file:是否存在并且为目录文件
-f file:是否存在并且为普通文件
-h/l file:是否存在并且为符号链接文件
-p file:是否存在并且为管道文件
-S file:是否存在并且为套接字文件
文件权限测试
-r file:是否存在并且为当前用户可读
-w file:是否存在并且为当前用户可写
-x file:是否存在并且为当前用户可执行
特殊权限测试
-u file:是否存在并且为拥有SUID权限
-g file:是否存在并且为拥有GUID权限
-k file:是否存在并且为拥有Sticky权限
文件是否有内容
-s file:是否存在并且有内容
变量是否有为空,为空则为真
-z ""$VARIABLE"
文件的时间戳测试
-N file:文件自从上次被读取后是否修改过
从属关系测试
-O file:当前用户是否为文件的属主
-G file:当前用户是否属于文件的属组
双目测试
file1 -ef file2:是否为同一文件系统上的指向同一iNode的硬链接
file1 -nt file2:file1 是否新于file2
file1 -ot file2:file1 是否旧于file2
组合条件测试
特殊变量
$0:脚本文件路径名称本身
$#:保存了脚本参数的个数
$*:所有参数
$@:所有参数
最新文章
- sgu 240 Runaway (spfa)
- ASP.Net开发基础温故知新学习笔记
- freebsd启动报错:My unqualified host name unkown...Sleeping for retry.
- redsocks 将socks代理转换成全局代理
- 【转】NVelocity模板引擎初学总结
- socket网络间通信初识
- shell循环
- 【Spring】Spring框架之Struts2和Spring的优点
- 20150604_Andriod 窗体PopupWindow
- Objective-C:Foundation框架-常用类-NSMutableDictionary
- Python 以指定概率获取元素
- 控件如何在IDE中响应MouseDown事件
- eclipse中的web-inf下没有web.xml
- $.Event 你不知道的用法
- HDU1087:Super Jumping! Jumping! Jumping!(DP)
- 孙鑫HTML视频学习总结
- ClassLoader类加载解惑
- 深入浅出 JVM GC(4)常用 GC 参数介绍
- Java_6 方法
- tomcat 性能调优
热门文章
- STM32 Startup**.s文件中使用的 __main C函数入口
- Python爬虫系列 - 初探:爬取旅游评论
- git提交代码速度过慢解决方法(macos)
- golang 项目实战简明指南
- leetcode记录-字符串转整数
- vs2013发布网站合并程序是出错(ILmerge.merge:error)
- 20155204 2016-2017-2 《Java程序设计》第2周学习总结
- 前后端分离之JWT用户认证zf
- 用 GSL 求解超定方程组及矩阵的奇异值分解(SVD)
- [vijos1067]Warcraft III 守望者的烦恼