shell脚本应用(一)

一、shell脚本基础
1、第一个脚本
vim first.sh
在这里插入图片描述
分别使用三种方法执行脚本:
./first.sh (需要有可执行的权限)
sh first.sh
. first.sh(或source first.sh

2、重定向与管道符
1)重定向输出(>)
在这里插入图片描述

2)重定向输出(>>追加)
在这里插入图片描述

3)重定向输入<
useradd jerry
vi pass.txt (在里面输入123456,保存退出)
在这里插入图片描述
注明:将jerry用户的密码设置为123456

4)错误重定向(2>)
在这里插入图片描述

5)混合重定向输出(&>)
6)管道符(|)
先查看以“/bin/bash”结尾的行
在这里插入图片描述
只输出用户名和登录的shell列
在这里插入图片描述
7)管道符(|):提取根分区的磁盘使用率信息
在这里插入图片描述

二、使用shell变量
1、定义新的变量
在这里插入图片描述
2、变量赋值的特殊操作
1)双引号使用(”):赋值的内容包含空格时
在这里插入图片描述
在这里插入图片描述

2)单引号使用(’):赋值的内容中包含$, ‘’ , \ 等具有特殊含义的字符时
在这里插入图片描述

3)反撇号使用(`): 用于将某个命令的输出结果赋值给变量
在这里插入图片描述
4)$()来代替反撇号操作,可以解决嵌套的问题
在这里插入图片描述
5)read命令:用来提示用户输入信息,例如:
在这里插入图片描述
3、设置变量的作用范围在这里插入图片描述
新定义的变量只在当前shell有效,如果想进入新的shell环境同样有效,就需要使用export命令将变量导出为“全局变量”
在这里插入图片描述
也可以在export导出全局变量的同时,也可以为变量赋值,例如:

4、数值变量的运算
加(+),减(-),乘(*),除(/),求模(%)

在这里插入图片描述
在这里插入图片描述
三、特殊的shell变量
1、环境变量(系统自身就有)
环境变量系统安装好了就存在,不用创建,可以直接使用,查看一下环境变量
在这里插入图片描述
我们可以把脚本直接添加到$PATH搜索路径中去,这样执行脚本的时候就不用加./了
如:first.sh脚本在 /root目录下
在这里插入图片描述

2、位置变量(系统自身就有)
位置变量也称之为位置参数,使用$1,$2,$3,$4……$9表示
vim test.sh
在这里插入图片描述
在这里插入图片描述

3、预定义变量(系统自身就有)
$#(表示命令行中位置参数的个数)
$*(表示所有位置参数的内容)
$?(表示前一个命令执行后的返回状态,返回值为0表示执行正确,非0表示出现异常)
$0(表示当前执行的脚本或程序的名称)
如:编写一个备份的小脚本
vim mybak.sh
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
四、综合案例
1、实验目标:远程备份mysql服务器的数据库
2、实验环境:
一共2台mysql服务器A和B,在B上远程备份A上的数据库,在A上建立数据库benet和accp,两台主机关闭防火墙。
在这里插入图片描述
(1) 在服务器端A上创建两个数据库,分别benet和accp
在这里插入图片描述
(2) 在服务器端A上建立一个专用的数据库用户,这里我使用root账户,授予root账户对可以通过远程主机192.168.1.200连接A
在这里插入图片描述
(3) 在备份主机B上备份测试,查看是否备份成功。在这里插入图片描述

(4) 在备份主机B上编写脚本,之前需要创建备份目录 mkdir -p /opt/beifen,然后编写脚本。
vim mysqlbak.sh
在这里插入图片描述

(5) 设置x的权限,并执行备份脚本./mysqlbak.sh
(6) 查看备份结果
在这里插入图片描述
(7) 设置计划任务
mv mysqlbak.sh /opt/beifen
crontab -e

在这里插入图片描述
1、需求描述:
编写登录欢迎脚本welcome.sh
编写服务控制脚本start、stop、status
2、实现思路:
新建脚本程序welcome.sh,依次报告各种系统信息
修改配置文件~/.bash_profile,调用welcome脚本
新建脚本程序/root/bin/status,通过$1获取服务名称,并执行/etc/init.d/目录下的同名脚本
答案:
一、登录欢迎脚本welcome.sh
(1)vi welcome.sh
在这里插入图片描述
(2)设置x的权限
chmod +x welcome.sh
(3)修改/root/.bash_profile文件,在root用户每次登录系统时调用welcome.sh脚本程序
vi /root/.bash_profile添加一行如下内容:
/root/welcome.sh
(4)验证:使用root用户重新登录,验证欢迎脚本的输出信息
在这里插入图片描述
二、编写服务控制脚本start
(1)在/root下创建一个bin目录
mkdir -p /root/bin
(2)在/root/bin下,编写一个脚本status.sh
vi status.sh
在这里插入图片描述
(3)设置x的权限:chmod +x status.sh

(3)测试脚本
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值