一、什么是shell
-
定义:shell是一个作为用户与Linux系统间接口的程序,它允许用户像操作系统输入需要执行的命令。
-
功能:①执行命令 ②调用Linux工具 ③编写程序
-
特点:速度运行快、效率高。
-
类型:(1)编译型(2)解释型
(1)编译型:二进制可执行程序,指令,直接执行
(2)解释型:需要解释器,文本
二、shell的语法
-
变量:本地变量、环境变量、参数变量。
-
条件:字符串比较、算术比较、文件测试(如:&& ||)。
-
循环:for、while、until、bash。
(1)for语句
①在默认情况下,所有的shell变量值都被认为是字符串,而for结构循环能够处理一组值,这组值可以使任意字符串的集合。
②语法规则:
for variable(变量) in values(值)
do
statements(命令)
done
③用法示例:
(2)while语句
①如果需要重复执行一个命令序列,但事先又不知道这个命令应该执行的次数,通常使用while语句。
②语法规则:
while condition(条件)
do
statements(命令)
done
③用法示例:
(3)until语句
①一般来说,如果不需要执行循环,就选用until循环;如果需要至少循环一次,就使用while循环。
②语法规则:
until condition(条件)
do
statements(命令)
done
(4)case语句
①case结构允许通过一种比较复杂的方式将变量的内容和模式进行匹配,再根据匹配的模式去执行不同的代码。
②语法规则:
case variable in
pattern [ | pattern] ...) statements;;
pattern [ | pattern] ...) statements;;
...
esac
注意:每个模式行都已双分号;;结尾
③例题演示:用case结构编写
while true
do
echo "input"
read line
case "$line" in
[yY]|[yY][eE][sS] ) echo "this is yes";;
[nN]|[nN][oO] ) echo "this is no";;
end ) break;;
*) echo "***";;
esac
done