文章目录
一、什么是shell脚本
shell脚本类似windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件。shell脚本提供数组、循环、条件判断的等功能。
二、shell脚本写法
shell脚本是个纯文本文件,命令从上而下,一行一行的开始执行。shell脚本扩展名为.sh。
shell脚本第一行一定要为:
\#!/bin/bash
表示使用bash。
三、shell脚本的语法
1、交互式shell脚本
read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
- -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
- -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。
- -p 后面跟提示信息,即在输入前打印提示信息。
- -e 在输入的时候可以使用命令补全功能。
- -n 后跟一个数字,定义输入文本的长度,很实用。
- -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。
- -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。
- -t 后面跟秒数,定义输入字符的等待时间。
- -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。
2、shell脚本的数值计算
shell仅支持整形,数值计算使用$((表达式))。
3、test命令
test命令用于查看文件是否存在、权限等信息,可以进行数值,字符,文件三方面的测试。
&&和||命令:
cmd1 && cmd2 当cmd1执行完并且正确,那么cmd2开始执行,如果cmd1执行完毕错误,那么cmd2不执行。
cmd1 || cmd2 当cmd1执行完毕并正确,那么cmd2不执行,反之cmd2执行。
4、中括号[]判断符
[ ] ==或 !=
5、默认变量
$0~$n,表示shell脚本的参数,包括shell脚本命令本身,shlle脚本命令本身为$0 $#:#表示最后一个参数的标号。 $@:表$1、$2、$3......
6、条件判断语句
if then语句
if 条件判断 ; then //判断成立要做的事情 fi
if then else 语句
if 条件判断 ; then //条件判断成立要做的事情 else //条件判断不成立要做的事情。 fi 或: if 条件判断 ; then //条件判断成立要做的事情 elif [条件判断]; then //条件判断成立要做的事情 else //条件判断不成立要做的事情。 fi
case语句
case $变量 in “第1个变量内容”) 程序段 ;; //表示该程序块结束!! “第2个变量内容”) 程序段;; “第n个变量内容”) 程序段 ;; esac
四、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