shell脚本类似windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件。
shell脚本提供数组、循环、条件判断的等功能。shell脚本一般是Linux运维或者系统管理员要掌握的,作为嵌入式开发人员,只需要掌握shell脚本最基础的部分即可。
1.Shebang(#!):脚本文件的第一行通常以#!
开头,后面跟着解释器的路径,用于指定解释器执行脚本。例如:
#!/bin/bash
这行指定了使用Bash作为解释器
2.注释:注释用于给脚本添加说明,并不会被执行。注释以#
开头,可以单行或多行注释。
3.变量:变量用于存储数据,并且在脚本中可以被引用和修改。变量名需要以字母或下划线开头,可以包含字母、数字和下划线。赋值使用等号(=),变量名和值之间不能有空格。例如:
name="qiu"
age=30
4.输出:使用echo
命令输出文本信息。例如:
echo "Hello, World!"#类似printf
5.输入:使用read
命令接收用户输入,并将输入的值赋给变量。例如:
read -p "请输入您的姓名:" name echo "您的姓名是:$name"
交互式shell脚本: read命令
6.条件判断:使用if
语句进行条件或者case判断。语法如下:
if 条件判断 ; then
//条件判断成立要做的事情
else
//条件判断不成立要做的事情。
fi
或:
if 条件判断 ; then
//条件判断成立要做的事情
elif [条件判断]; then
//条件判断成立要做的事情
else
//条件判断不成立要做的事情。
fi
case $变量 in
“第1个变量内容”)
程序段
;; //表示该程序块结束!!
“第2个变量内容”)
程序段;;
“第n个变量内容”)
程序段
;;
esac
例如:
if [ $age -gt 18 ]
then
echo "成年人"
else
echo "未成年人"
fi
7.循环:Shell脚本支持多种循环结构,比如for
循环、while
循环和until
循环。
for
循环用于遍历一组值或集合。语法如下:
for variable in values
do
command
done
例如:
for i in 1 2 3 4 5
do
echo $i
done
while
循环在给定条件为真时重复执行一系列命令。语法如下:
while condition
do
command
done
例如:
count=0
while [ $count -lt 5 ]
do
echo $count count=$((count + 1))
done
until循环在给定条件为假时重复执行一系列命令。语法如下:
until condition
do
command
done
例如:
count=0
until [ $count -eq 5 ]
do
echo $count count=$((count + 1))
done
8.test命令
test命令用于查看文件是否存在、权限等信息,可以进行数值,字符,文件三方面的测试。
&&和||命令:
cmd1 && cmd2 当cmd1执行完并且正确,那么cmd2开始执行,如果cmd1执行完毕错误,那么cmd2不执行。
cmd1 || cmd2 当cmd1执行完毕并正确,那么cmd2不执行,反之cmd2执行。
9.函数:Shell脚本可以定义和调用函数。函数用于封装一段可重复使用的代码。函数的定义以function
关键字开始,后面跟着函数名和函数体。函数的调用使用函数名,并可以传递参数。例如:
function greet {
echo "Hello, $1!"
}
greet "qiu"