简介:
shell是用户跟内核通信的一种方式,既是应用程序,也是一种脚本语言。shell脚本就是将一些shell语法与指令写在一个文件里,不需要编译,只要加上可执行权限就可以在shell解释器环境下执行。
1、定义开头,用来声明解释器
#!/bin/bash
2、注释行用#
#注释
4、给脚本加可执行权限
chmod +x shell.sh
3、运行方法,常用的如下
/path/shell.sh
或 ./shell.sh
或 bash shell.sh
或 sh shell.sh
4、调试脚本,执行过程中看输出
sh -x shell.sh
5、定义变量
a=1
6、引用变量
$a
或${a}
7、清除变量
unset a
8、获取用户输入
read -p a
9、参数
$1 表示执行脚本时的第一个参数
$? 表示上条命令执行后的返回值(0表示上条命令正确执行,非0表示错误)
$# 表示传给脚本的参数数量
$* 表示传给脚本的参数内容
10、转义字符
\
11、条件判断,常用的参数有:
-e 是否存在
-d 是目录
-f 是文件
-r 可读
-w 可写
-x 可执行
-s 非空文件
= 两字符串相等
!= 两字符串不相等
-z 字符串为空
-n 字符串不为空
12、数值判断
-eq 相等
-ne 不等
-gt 大于
-ge 大于等于
-le 小于等于
-lt 小于
13、命令控制
&& 表示左边命令执行成功了才执行右边命令
|| 表示左边命令没有执行成功才执行右边命令
14、if判断控制,格式如下(注意[]中的条件两边有空格隔开)
if [ 条件 ];then
...
elif [ 条件 ];then
...
else
...
fi
15、case判断,格式如下
case $a in
"内容")
...
;;
"内容")
...
;;
*)
...
easc
16、for循环,例如输出1~10
for ((i=1;i<=10;i++))
do
echo $i
done
17、while循环,break用来跳出循环,continue用来结束本轮循环
while [条件成立]
do
...
done
18、定义函数,有两种格式,return可用来提前结束函数并带出返回值
函数名 (){
...
}
function 函数名 (){
...
}