当前位置:网站首页>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.函数中的返回值$?
边栏推荐
猜你喜欢
MySQL8 -- use msi (graphical user interface) under Windows installation method
Kubernetes 基本概念
DOM破坏及复现实验
PyTorch(六)——PyTorch可视化
浏览器的工作原理(dns域名服务器,tcp握手,ssl/tls安全协议,关键渲染路径,重绘及回流,防抖和节流)
利用WebShell拿Shell技巧
Go语学习笔记 - gorm使用 - 事务操作 Web框架Gin(十一)
WebShell connection tools (Chinese kitchen knife, WeBaCoo, Weevely) use
R16 Type II量化反馈码本的产生
MySQL8--Windows下使用msi(图形界面)安装的方法
随机推荐
Heao Technology Network Interview (with reference answers)
深度学习:目标检测入门知识
Go简单实现协程池
WebShell连接工具(中国菜刀、WeBaCoo、Weevely)使用
关于#sql#的问题:该怎么写sql语句,
ModuleNotFoundError: No module named ‘openpyxl‘
AntV X6制作画板工具(图形,线段,图片上传)
CV-Model [4]: MobileNet v3
深度自编码网络的集成学习ICPS入侵检测模型
LeetCode:第304场周赛【总结】
程序员的七夕浪漫时刻
centos安装mysql8
Hit the programmer interview scene: What did Baidu interviewers ask me?
合奥科技网络 面试(含参考答案)
Difference between #{} and ${}
(转帖)HashCode总结(1)
Go语学习笔记 - gorm使用 - 原生sql、命名参数、Rows、ToSQL Web框架Gin(九)
MySQL8.0.26安装配置教程(windows 64位)
【LeetCode】1374. Generate a string with an odd number of each character
蓝鲸DevOps荣获平台类工具企业选择率第一