shell脚本视频学习2
一。函数
1.函数格式
2.函数传入参数
3.手动输入函数中的参数
4.函数返回值
成功返回0,失败返回1
5.输入一个目录,判断目录是否存在,如果不存在则给出提示,如果存在则提示输入要创建的文件名,判断创建的文件是否存在,如果不存在,则继续创建,否则提示该文件已经存在
二。自动化部署实战
1.
shell总结:
shell目标:
1.Linux命令熟悉
2.能够自动部署测试环境(mysql/nginx/项目)
3.面试用
shell内容:
变量:变量名=变量值
等号两边不能有空格
变量名不能为数字开头、字母、数字、下划线组成
特殊变量定义:双引号、单引号、反单引号
变量值输出:echo $变量名
变量释放:unset 变量名
输入操作:
read 变量名 变量名 变量名----->变量名之间用空格隔开
read -p “提示信息” 变量名
参数传递:向.sh文件传递数据
$1/$2/$3....
$0--->文件名
$@--->所有参数
$#--->参数个数
重定向:
将结果输出到文件中
正确的命令: 用1表示, 命令 1>文件名 ,命令 1>>文件名
错误的命令:用2表示, 命令 2>文件名 ,命令 2>>文件名
程序结构
分支:
if...else分支:注意:if和[之间有空格、条件和中括号之间有空格、条件和条件之间有空格,条件中存在变量,变量名两边使用双引号
逻辑运算符: -a / -o / !
比较运算符:-eq/-ne/-ge/-gt/-le/lt
字符串比较: == !=
test 参数 变量名
参数 变量名
if...elif...else分支
case分支:
第一行最后必须为in
语句结束;;
值:可以字符串、数字、可以是区间范围[0-9]
结束:esac
循环
for循环
seq start size max---->分别表示开始点、步长、结束点
while循环
变量的变化:i=i+1---->表示的形式
多个变量间操作------>表示的形式
函数
定义:函数名(){}
调用:函数名 ----》必须先定义再调用
函数传参:用$n来接收传递的数据
函数的返回值:默认都有一个默认的返回值,正确(无错误命令)的函数---->返回值默认为0,错误的命令--->返回值默认为1,查看函数的返回值:$?
自动化部署实战:oracle的部署过程
涉及知识点:
查看文件中的前n条数据:head -n
在文件中查看内容:grep "内容" 文件名
剪取文件中的内容:cut
cut:
按照字节进行剪取---->空格:1个字节,字母、数字:1个字节,汉字:3个字节-----> 参数 : -b
按照字符剪取----->空格、数字、字母、汉字:1个字符---->参数: -c
按照域剪取-----> -d:表示使用的分隔符, -f:要剪取的第几个域
向文件中插入内容
sed -i "行号a内容" 文件名
sed -i "行号i内容" 文件名
部署:
通过函数之间的相互调用实现
(先脚本文件时,先流程图,再脚本)
最新文章
- b/s 读取多个FTP文件(图片,视频)压缩到服务器 下载到客户端
- iOS开发小技巧--即时通讯项目:使用富文本在UILabel中显示图片和文字;使用富文本占位显示图片
- [转]图片中的字符分割提取(基于opencv)
- Syncfusion的社区许可及免费电子书和白皮书
- Linux下Apache服务器并发优化
- wbadmin delete backup删除服务器旧的镜像备份
- WP8.1开发中对于XAML中一些语言的学习(1);
- day26.面向对象-反射封装内置方法
- python从字符串中提取指定的内容
- 配置react, redux, next.js环境
- 微信小程序开发总结(一)
- Linux基础命令---chfn
- Scala进阶之路-面向对象编程之类的成员详解
- 改变窗体大小视图区图形也会跟着变化 MFC
- Phoenix 安装完的几个简单使用
- Java学习---JDK的安装和配置
- ubuntu服务器安装jupyter notebook, 并能够实现本地远程连接
- Servlet实现数字字母验证码图片(二)
- POJ3180:The Cow Prom——题解
- 【Foreign】树 [prufer编码][DP]