什么是shell脚本
shell脚本类似windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件。shell脚本提供数组、循环、条件判断的等功能。
shell脚本写法
shell脚本是个纯文本文件,命令从上而下,一行一行的开始执行。shell脚本扩展名为.sh。
shell脚本第一行一定要为:
#!/bin/bash
表示使用bash。
read接收输入
shell脚本语法
-
shell脚本的数值计算
shell仅支持整形,数值计算使用$((表达式))。
-
test命令
test命令用于查看文件是否存在、权限等信息,可以进行数值,字符,文件三方面的测试。
-
&&和||命令
cmd1 && cmd2 当cmd1执行完并且正确,那么cmd2开始执行,如果cmd1执行完毕错误,那么cmd2不执行。
cmd1 || cmd2 当cmd1执行完毕并正确,那么cmd2不执行,反之cmd2执行。 -
中括号[]判断符
[ ] ==或 !=
-
默认变量
$0~$n,表示shell脚本的参数,包括shell脚本命令本身,shlle脚本命令本身为$0
$#:#表示最后一个参数的标号。
$@:表$1、$2、$3…
shell脚本条件判断
if 条件判断 ; then
//判断成立要做的事情
fi
还有if then else 语句,写法
if 条件判断 ; then
//条件判断成立要做的事情
else
//条件判断不成立要做的事情。
fi
或:
if 条件判断 ; then
//条件判断成立要做的事情
elif [条件判断]; then
//条件判断成立要做的事情
else
//条件判断不成立要做的事情。
fi
case语句
case $变量 in
“第1个变量内容”)
程序段
;; //表示该程序块结束!!
“第2个变量内容”)
程序段;;
“第n个变量内容”)
程序段
;;
esac
shell脚本函数
shell脚本也支持函数,函数写法如下:
function fname () {
//函数代码段
}
shell循环
-
while do done,表示当条件成立的时候就一直循环,直到条件不成立。
while [条件] //括号内的状态是判断式
do //循环开始
//循环代码段
done -
until do done,表示条件不成立的时候循环,条件成立以后就不循环了,写法如下:
until [条件]
do
//循环代码段
done
-
for循环,使用for循环可以知道有循环次数,写法
for var in con1 con2 con3……
do
//循环代码段
done
for循环数值处理,写法
for((初始值; 限制值; 执行步长))
do
//循环代码段
done