shell脚本自动化实战

Shell脚本自动化部署实战(二)

三丶shell语法

4.程序结构

2.循环结构

说明:在上一篇博客中讲到了for循环,现在开始讲解while循环

a)格式

while [ 条件 ]

do

 命令

done

示例1:变量间加减运算s=$(($s+$i))  s=$[$s+$i]  ((s=$s+$i))

  • 求1-100之间的和

     

图片

  • 运行脚本进行测试

     

图片

5.函数

1.定义

函数名(){代码}

示例:

图片

 

2.函数调用

a)必须先定义再调用

b)格式:函数名

示例:

图片

  • 执行脚本进行测试

     

图片

 

3.函数中的参数

在函数中使用$n来接收数据

示例1:

图片

  • 运行脚本进行测试

     

图片

示例2:

  • 输入任意两个整数进行求和运算,并打印结果

     

图片

  • 运行脚本进行测试

     

图片

4.返回值

函数中默认的存在返回值:正确时返回0,错误时返回1,查看返回值内容 :$?

示例1:

  • 正确时返回0

     

图片

  • 运行脚本进行测试

     

图片

示例2:

  • 错误时返回1

     

图片

  • 运行脚本执行命令

     

图片

示例3:

  • 输入一个目录,判断目录是否存在,如果不存在则给出提示,如果存在则提示输入要创建的文件名,判断创建的文件是否存在,如果不存在,则继续创建,否则提示该文件已经存在,用函数实现

换出流程图

图片

  • 根据流程图编写脚本

     

图片

  • 运行脚本进行测试

     

图片

四丶自动化部署实战

1.安装说明

本文档将指导您完成 Linux 企业版下面的 Oracle 数据库的安装。通过本次安装您将发 现您的 Linux 系统发生如下变化:

安装了可以使用的 Oracle 数据库;

配置了可以使用的组和用户;

配置了相关权限的环境变量;

2.安装前的准备

示例是基于虚拟机下的 Linux 系统的安装工作,使用的本地操作系统是[Windows 2000 Server],使用的虚拟机是[VMware-workstation-5.5.2-29772.exe]使用的 Linux 企业版是[红 帽企业级 Linux.AS 版].V4.0],使用的 Oracle 版本是[Oracle 10g]。安装前请确认如下事宜:

当前 Linxu 使用的是企业版,并且安装了[开发工具]工具包;

当前 Linux 系统已经配置好了网络设置;

已经准备好了 Oracle 安装文件;

有足够的硬盘空间用于安装;

有足够的物理内存和分配内存便于安装;

下面提供的是一组需要的资源参考:

至少 1024 MB 物理内存

1024-2048 需 1.5 倍的交互空间

2048-8192 需 1 倍的交互空间

8192- 需 0.75 倍的交互空间

至少 400 MB /tmp 临时目录空间

oracle 软件需要 1.5 GB 到 3.5 GB 磁盘空间

默认数据库需要 1.2 GB  

3.进行安装前的配置

1.确定当前登录的是超级管理员 root 用户,如下内容都是在 root 下面进行的操作

依次执行命令:

[groupadd  dba]----------------------------------------新建管理组

[groupadd  oinstall]------------------------------------新建安装组

[useradd  tester  -g  oinstall  -G  dba]----------新建用户,用户录属于 dba 和 oinstall      [passwd  tester]------------------------------------------修改用户密码

画出判断当前用户是否是root用户流程图

图片

 

  • 编写脚本

     

图片

  • 当前用户运行脚本

     

图片

  • 切换到root用户运行脚本

     

图片

画出新建管理组函数流程图

 

图片

 

  • 在流程图中判断dba组是否存在,可以通过查看/etc/group文件中是否存在dba

     

图片

所涉及到的知识点:cut--->剪取

a)按照字节进行剪取:-b表示;注意:一个空格就是一个字节,一个字母就是一个字节,一个汉字三个字节

举例:对/etc/passwd文件内容进行截取

图片

  • head -5 passwd查看前5行数据

     

图片

  • head -5 passwd|cut -b1-4  剪取1-4的字节(一个字母1字节,汉字3字节)

     

图片

  • 截取前5行的第一个字节

     

图片

  • head -5 passwd|cut -b -4 剪取1-4的字节

     

图片

  • head -5 passwd|cut -b 4 剪取第4个的字节

     

图片

  • head -5 passwd|cut  -b 4- 从第4个字节开始剪取

     

图片

  • head -5 passwd|cut -b 1-2,4 剪取1-2个字节以及第4个字节

     

图片

  • pwd|cut -b -3,3- 剪取的相同的内容会去重

     

图片

b)按照字符进行剪取:-c表示;注意:一个汉字就是一个字符、一个空格就是一个字符

举例:对pwd内容进行截取

  • pwd|cut -c 1-2 剪取前两个字符

     

图片

  • pwd|cut -c 1 剪取第一个字符,pwd|cut -c 1,4 剪取第一个和第四个字符

     

图片

c)按照域进行进行剪取:剪取的分隔符 -d,剪取的域的位置 -f

举例:对passwd文件内容按照冒号进行剪取,取第一个域

  • head -5 passwd|cut -d ":" -f 1

     

图片

d)编写脚本

图片

  • 执行脚本进行测试

     

图片

画出新建安装组流程图

图片

  • 编写脚本

     

图片

  • 运行脚本进行测试

     

图片

画出新建用户以及修改密码流程图

图片

  • 当创建一个用户成功后,在/etc/passwd文件中则会出现该创建成功的用户数据

     

图片

  • 编写脚本

     

图片

  • 运行脚本进行测试

     

图片

  • 编写脚本实现修改用户密码

     

图片

  • 执行脚本进行测试

     

图片

 

2.继续利用 root 用户建立安装目录并分配权限,分别执行如下命令

[mkdir -p /oracle/product/10.2.0/db_1]-----------------------------------新建 oracle 安装目录

[chown  -R  tester.oinstall  /oracle]---------修改 oracle 安装目录属主和属组

[chmod  755  -R  /oracle]--------------------修改 oracle 安装目录操作权限

画出流程图

图片

  • 编写脚本

     

图片

3.注销当前 root 用户(建议注销,不用 su 命令置换),再用刚才新建的 tester 用户登录 系统,进入当前用户的根目录执行命令[vi ./.bash_profile],打开用户环境变量列表,插入如下内容:

图片

  • 进入tester用户目录下,查看是否存在.bash_profile文件

     

图片

  • 查看.bash_profile文件内容

     

图片

4.进入文件后,单击[i],开始修改,修改完成后保存退出(ESC---冒号---wq),执行命 令[source  ./.bash_profile],使修改生效,此时你可以利用命令[echo  $ORACLE_BASE]或 [echo  $PATH]命令查看刚才的设置内容

画出流程图

图片

 

  • 编写脚本,在向.base_profile文件中插入内容,涉及到的知识点:sed -i "行号a内容" 文件名

     

图片

  • 为了测试脚本,需要将之前测试脚本创建的组合用户进行删除(vi group 以及 vi passwd)

     

图片

图片

  • 运行脚本进行测试

     

图片

4.安装 Oracle

1.注销系统,用 tester 用户登录系统(注意如果上一步没有注销,这一步一定要注销, 要是你当前桌面显示[tester 的主文件夹]),找到 Oracle 安装文件,比如我的是放在/tmp 下的 zip文件,所以首先解压缩

a)注销系统登录tester用户

图片

画出流程图

图片

 

  • 编写脚本

     

图片

  • 运行脚本进行测试

     

图片

b)解压文件

画出流程图

图片

 

  • 编写脚本

     

图片

  • 运行脚本进行测试

     

图片

  • 编写解压脚本

     

图片

  • 执行脚本进行测试,文件解压成功

     

图片

2.解压缩完成,会生成一个 database 的文件夹,进入 database 目录下会看到一个可执 行文件 runInstaller,执行命令[./runInstaller],安装开始

画出流程图

图片

 

  • 编写脚本

     

图片

  • 运行脚本进行测试

     

图片

3.自动化部署中的问题

a)启动runInstaller出现libXtst.so.6: cannot open shared object file: No such file or directory错误提示

图片

解决方法:依次安装如下的包(切换root用户)

图片

yum install libXp*.i686

yum install libXt*.i686

yum -y install libXtst

b)安装界面中文乱码

拷贝zysong.ttf字体文件到/usr/share/fonts/zh_CN/TrueType/ 目录下,如果在/usr/share/fonts/目录下没有zh_CN/TrueType/目录,则进行mkdir zh_CN/TrueType -p创建,需要zysong.ttf这个文件请私聊博主或者评论留言即可

4.自动化部署总结

a)部署前准备

1.判断用户是否为root

2.创建管理组、安装组函数

3.创建tester用户函数

4.创建目录函数

5.创建了修改环境变量函数

b)部署

1.判断用户是否为tester

2.创建了安装函数install(拷贝、解压、安装)

5.shell内容总结

图片

高级性能测试全程班视频课程      淘宝店铺购买:

图片

图片

图片

图片

课程链接     https://item.taobao.com/item.htm?ft=t&id=719233442512

       

图片

 

叶凡Jonas
收录于合集 #UI自动化系列
 54
上一篇Shell脚本自动化部署实战(一)
 
阅读 1629
软件测试成长之路
 
 
 
 
posted @ 2023-10-20 09:32  往事已成昨天  阅读(173)  评论(0编辑  收藏  举报