一、Linux Bash介绍
Bash是UNIX系统下的一个命令解析器,全称为Bourne-Again Shell是一个为GNU开源项目编写的Unix shell。bash功能强大,尤其是在处理自动循环或者耗时大的任务方面可以节省大量时间,同时他也是Linux平台的内定Shell。
二、创建运行Bash示例
1 - 新建文件test.sh
touch test.sh
2 - 为bash文件test.sh添加可执行权限
chmod +x test.sh
3 - 使用vim编辑test.sh,修改内容如下
#! /bin/bash
echo "hello world"
exit 0
4 - 执行bash脚本
/bin/bash test.sh
三、bash的基础语法
1 - [ ]条件表达式
基本语法格式
[ Expression ]
语法说明:
注意条件表达式与两个中括号之间一定要有空格
Expression使用说明参考如下:
条件判断表达式Expression说明
Expression表达式
Expression说明
Expression
Expression为真
!Expression
Expression为假
Expression1 -a Expression2
Expression1和Expression2同时为真
Expression1 -o Expression2
Expression1或Expression2同时为真
-n STR
字符串STR的长度不为0
-z STR
字符串STR的长度为0
STR1 = STR2
字符串相等
STR1 != STR2
字符串不相等
num1 -eq num2
num1 等于 num2
num1 -ge num2
num1 大于或等于 num2
num1 -gt num2
num1大于num2
num1 -le num2
num1小于或者等于num2
num1 -lt num2
num1小于num2
num1 -ne num2
num1不等于num2
File1 -ef File2
文件File1和File2有相同的device和inode数目
File1 -nt File2
File1的修改时间早于FIle2
File1 -ot File2
File1的修改时间晚于File2
-b File
File是块设备
-c File
File是字符设备
-d File
File是文件夹
-e File
File存在
-f File
File存在且是一个文件
-g File
File存在,且有group-id
-G File
FIle存在,且group-ID是有效的
-h File
File存在且是一个硬链接
-k File
File存在,且它的sticky bit被设置了
-L File
File存在,且是一个软连接
-O File
File存在且它的拥有者是有效的
-p File
File存在,且是一个管道文件
-r File
File存在,且有可读权限
-s File
File存在,且size大于0
-S File
File存在,且是socket文件
-w
File存在且具有可写权限
-x File
File存在且具有可执行权限
使用示例
## 判断变量num是否等于50
[ "$num" -eq "50" ]
## 判断文件/home/temp/123.txt是否存在
[ -f /home/temp/123.txt ]
2 - 逻辑表达式
使用说明
Expression指的条件表达式
1)逻辑与
[ Expression1 -a Expression2 ] 或者[ Expression1 ] && [ Expression2 ]
2)逻辑或
[ Expression1 -o Expression2 ] 或者[ Expression1 ] || [ Expression2 ]
3)逻辑否
[ ! Expression]
3 - test判断语句
基础语法格式:
test Expression
语法说明:
test表示判断 Expression表示被判断
使用示例:
判断当前目录下123.txt是否存在且是一个文件
test -f 123.txt
## 输出结果0表示成功存在且是文件 其他表示失败
## echo $?可输出上一个命令的执行结果到当前终端
转载至链接:https://my.oschina.net/zhangyq1991/blog/1860033