1. shell脚本简介
- shell脚本类似windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件。
- shell脚本提供数组、循环、条件判断的等功能。shell脚本一般是Linux运维或者系统管理员要掌握的,作为嵌入式开发人员,只需要掌握shell脚本最基础的部分即可。
2. shell脚本写法
shell脚本是个纯文本文件,命令从上而下,一行一行的开始执行。shell脚本扩展名为.sh。
shell脚本第一行一定要为:
#!/bin/bash
表示使用bash
2.1 第一个shell脚本
#!/bin/bash
echo "Hello World !"
直接运行解释器,其参数就是 shell 脚本的文件名
/bin/sh test.sh
/bin/php test.php
2.2 shell脚本的数值计算
shell仅支持整形,数值计算使用$((表达式))
2.3 test命令
test命令用于查看文件是否存在、权限等信息,可以进行数值,字符,文件三方面的测试
&&
和||
命令:
cmd1 && cmd2
当cmd1执行完并且正确,那么cmd2开始执行,如果cmd1执行完毕错误,那么cmd2不执行。
cmd1 || cmd2
当cmd1执行完毕并正确,那么cmd2不执行,反之cmd2执行。
2.4 中括号[]判断符
==
或 !=
[ ] 内字符串要加“ ”
2.5 默认变量
$0~$n
,表示shell脚本的参数,包括shell脚本命令本身,shlle脚本命令本身为$0
$#
:#表示最后一个参数的标号。$@
:表$1、$2、$3…
3. shell脚本条件判断
shell脚本提供了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
4. shell脚本函数
shell脚本也支持函数,函数写法如下:
function fname () {
//函数代码段
}
5. shell循环
shell脚本也支持循环,比如 while do done,表示当条件成立的时候就一直循环,直到条件不成立。
while [条件] //括号内的状态是判断式
do //循环开始
//循环代码段
done
还有另外一种until do done,表示条件不成立的时候循环,条件成立以后就不循环了,写法如下:
until [条件]
do
//循环代码段
done
使用for循环可以知道有循环次数,写法
for var in con1 con2 con3……
do
//循环代码段
done
或:
for循环数值处理,写法
for((初始值; 限制值; 执行步长))
do
//循环代码段
done
评论区