Shell脚本
一.编写规范
1.代码规范
#!/bin/bash [第一行指定此脚本将被哪个文件执行]
shell相关命令
2.文件命名规范
文件名.sh
二.使用流程
1.创建文件 touch/vim
2.编写shell文件
3.执行shell脚本 (脚本名 + 回车)(/bin/bash 脚本名)
(1)需要提前为文件添加执行权限 #chmod + 文件名
(2)执行文件时需要写出文件路径,否则系统会默认去PATH变量下寻找
三.变量定义
1.定义规则
基本跟java相同,‘=’左右不可加空格
使用时需要加 $+变量名
2.注意
定义字符串时可以用单引号,也可以用双引号
区别:
(1)双引号可以识别变量,可以实现转义
(2)单引号会得到原样文本
(3)反引号 【】(esc下面的)用于指令获得执行结果,如 var=
ls`
3.只读变量
变量名之前加readonly
4.删除变量
语法:unset 变量名
5.
四.接受用户输入
1.语法 read -p 提示信息 赋值变量名
五.条件判断语句
1.语法
if [ condition ] (注意:condition前后要加空格)
then
command1
command2
else
command3
fi
2.语法
if condition1
then
command1
elif condition2
then
command2
else condition3
then
command3
fi
六.运算符
(bash中为变量赋值不能直接使用运算符,需要计算工具如expr)
1.算数运算符
如val=expr 2 + 2
注意:1.数字与expr之间要有一个空格
2.使用反引号包裹(`)
2.关系运算符
-eq 检查两个数是否相等 相等返回true
-ne 检查两个数是否相等 不相等返回true
-gt 如果左侧的数大于右边的数 返回true
-lt 如果左侧的数小于右边的数 返回true
-ge 如果左侧的数大于等于右边的数 返回true
-lt 如果左侧的数小于等于右边的数 返回true
3.逻辑运算符
1.非运算 !
2.或运算 -o
3.与运算 -a
4.字符串运算符
1.检测两个字符是否相等 = (注意是一个=)
2.检测两个字符是否不等 !=
3.检测字符串长度是否为0,为零返回true -z
4.检测字符串长度是否为0,不为零返回true -n
5.检测字符串是否为空,不为空返回true str
5.文件测试运算符
1.-b file 检测文件是否为块状设备
2.-c file 检测文件是否为字符设备
3.-d file 检测文件是否为目录
4.-f file 检测文件是否为普通文件
5.-r[-w][-x] file 检测文件是否可读[可写][可执行]
6.-s file 检测文件是否为空(文件大小是否为0)
7.-e file 检测文件[目录]是否存在