当前位置:网站首页>day11--shell脚本
day11--shell脚本
2022-08-02 03:14:00 【宁氓】
一.Shell介绍
1.什么是shell脚本
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
二.Shell脚本的规则
1.变量的规则
定义变量规则: 变量名=值
shell定义变量的规则:
1)等号两边不能有空格
2)定义特殊变量需要用单引号或者双引号结合
3)定义linux命令需要用反单引号
区分单引号和双引号的不同和相同点:
双引号中有$变量名,输出的是变量名对应的变量值
单引号中有$变量名,输出的是$变量名
2.脚本的命名格式:
脚本名称.sh
3.脚本的起始行格式
第一行必须写# !/bin/bash
4.脚本输入输出格式
1:输入语句用:read -p "描述"
2:Shell输出值:echo $变量名
5.脚本的调用
方式一: ./脚本名.sh chmod 权限 文件名
方式二: sh 脚本名.sh 不用考虑权限问题
6.参数传递
格式 : sh 脚本名.sh 参数
$1:接收第一个参数~~$n
$0:文件名称
[email protected]:所有参数 s
$#: 参数个数
7.比较运算符和逻辑运算符
(1) 比较运算符
数字 : 大于 -gt 大于等于 -ge
小于 -lt 小于等于 -le
相等 -eq 不等 -ne
字符串: 相等 == 不等 !=
(2) 逻辑运算符
逻辑与 -a 逻辑或 -o 逻辑非 !
(3) 加1操作 : ((i++)) ((i+=1))
加n操作 : s=$(($s+$i)) s=$[$s+$i] ((s=$s+$i))
8.if语句
(1)格式 : if [ 条件 ]
then 语句
else 语句
fi
案例:判断用户输入的用户名(name)和密码(password)是否为admin 和 123456,如果是则提示登录成功(success),否则提示失败(fail)
(2)格式 : if [ 条件 ]
then 语句
elif [ 条件 ]
then 语句
else 语句
fi
案例 : 输入学生的成绩,80<score<=100提示very good , 60<score<=80提示good , 其他则提示不及格
9.case语句
格式 : case $变量名 in
"值")
语句;;
"值")
语句;;
.....
esac
注意:1:case这第一行以in结尾
2:值可以是字符串也可以是数字, 如果数字范围[0-9]
3:结束语句;;
4:esac结束标志
案例 : 输入一个序号,判断该用户选择哪款产品,A:笔记本 B:手机 C:小台灯
10.for循环
格式 : for 变量 in 列表
do 语句
done
若列表中的元素过多时 , 使用 seq 开始数据 step 结束数据 , 需要用反单引号
11.while循环
格式 : while [ 条件 ]
do 语句
done
案例 : 求1-100之间的和
三.shell脚本的函数
1.格式
定义格式 : 函数名(){语句}
调用格式 : 函数名
2.函数中的参数
案例 : 输入1,100两个整数进行求和运算,并打印结果
3.函数中的返回值$?
边栏推荐
猜你喜欢
SSM网上商城购物系统(前台+后台)
CV-Model【4】:MobileNet v3
5.合宙Air32F103_LCD_key
Istio微服务治理网格的全方面可视化监控(微服务架构展示、资源监控、流量监控、链路监控)
MySQL8.0.28安装教程
LeetCode:1374. 生成每种字符都是奇数个的字符串【签到题】
mysql8.0.28 download and installation detailed tutorial, suitable for win11
HCIP第十一天_MPLS实验
Using WebShell to get Shell Skills
ROS2自学笔记:launch文件完整编写流程
随机推荐
线性代数学习笔记3-1:矩阵与线性变换、常见矩阵(逆矩阵、伴随矩阵、正交矩阵等)
Foundry教程:使用多种方式编写可升级的智能代理合约(下)
考虑饱和的多智能体系统数据驱动双向一致性
MySQL中根据日期进行范围查询
LeetCode:1161. 最大层内元素和【BFS层序遍历】
rem adaptation
JunitTest单元测试
Good Key, Bad Key (思维,临项交换,经典方法)
嵌入式分享合集25
为什么四个字节的float表示的范围比八个字节的long要广
MySQL8--Windows下使用压缩包安装的方法
MySQL中的时区设置
关于跨域问题
PHP WebShell 免杀
Day34 LeetCode
暴力破解全攻略
(Reposted) The relationship between hashcode and equals
HCIP第十一天_MPLS实验
5.nodejs--cross domain, CORS, JSONP, Proxy
Kubernetes 基本概念