shell脚本介绍
Shell 和python都是弱语言
定义变量规则 : 变量名=值
shell定义变量的规则:
1:等号两边不能有空格
2:定义特殊的变量需要用单引号或者双引号结合
3:定义linux命令需要用反单引号
区分单引号和双引号的不同和相同点
Shell取值
使用:echo $变量名
1.one.sh 查看shell脚本的当前目录
Esc 退出编辑模式 :wq 进行保存 输入sh one.sh 查看结果
2.用shell脚本查看当前 目录下 存在多少文件或者文件夹(cd /etc)
3.切换指定目录下进行查询
4.1 shell 传递参数
参数传递 :向.sh文件中传递数据
格式: sh 脚本名.sh 参数
$1:接收第一个参数~~$n
$n:文件名称
$@:所有参数
$#参数个数
- 1
- 2
- 3
- 4
通过传参不同,可以发现没有相对应的就不会显示出来
4.2 @符号 案例如下
4.3 #符号 案例如下
4.4 (0) 案例如下
5. 逻辑运算符
比较运算符(数字)
-eq 比较是否相等
-ne 比较不相等
-gt 比较大于
-ge 比较大于等于
-lt 比较小于
-le 小于等于
字符串判断:== ,!=
逻辑运算符 -a与 -o或 !非
((i++)) ((i+=1))
s=( ( ((((s+i ) ) s = i)) s=i))s=[s + s+s+i] ((s=s + s+s+i))
6.1 if 分支语句
格式:
if [ 条件 ]
then
语句
else
语句
fi
- 1
- 2
- 3
- 4
- 5
- 6
- 7
注意点:
1: if后面有空格, 2:条件两边有空格, 3:if条件里面存在变量,需要$,而且变量两边需要双引号, 4:if是结束标识
案例1如下:
判断用户输入的用户名和密码是否为admin 123456,如果是则显示登陆成功,否则显示登陆失败(代码如下)
- 1
- 2
案例2如下
输入数字,判断是否大于0,如果大于则将该数字-1并输出,否则+1并输出
6.2 if elif else 案例
输入学生的成绩,80<score<100 提示 优秀
输入学生的成绩,60<score<80 提示 良好
输入学生的成绩,score<60 提示 不及格
Case 循环语句
case规则
case $变量名 in
“值”)
语句;;
“值”)
语句;;
…
esac
注意:1:case这第一行以in结尾 2:值可以是字符串也可以是数字, 如果数字范围[0-9]
3:结束语句;; 4:esac结束标志
案例1:输入一个序号,判断该用户选择哪款产品,A:笔记本 B:手机 C:小台灯
案例2:请输入对客服的满意度,0-3 不满意 4-6 满意 7-9非常满意
for 循环
for 变量 in 列表
do
语句
done
试想列表中的元素过多的时候,需要怎么做?
seq mix step max 注意:mix 开始数据 step:间隔 max 结束数据,如果step为1,可以省略
注意1: 结束标志done
- 1
- 2
- 3
- 4
- 5
输出1-6之间的数,改进版 seq
案例如下
While 循环
while [ 条件 ]
do
语句
done
注意:结束done
While后有空格, 参数之间也
注意
案例如下:
求1-100之间的和