shell脚本应用(一)

一、shell脚本:由shell命令按照一定的顺序书写而成的一个文本文件,一般扩展名为.sh
示例1:
二、脚本结构
1.脚本声明:声明调用何种shell进行解析
2.脚本注释
3.脚本语句
示例2:
三、脚本执行的方式
1.路径/脚本:需要有x权限
2.sh 路径/脚本
3…或source 路径/脚本 在当前shell中执行
四、管道符与重定向
1.管道符:| 左侧的命令输出结果,作为右侧命令的输入(对象),可使用多个|
2.重定向输出:> >>
重定向输入: < (结合passwd命令的“–stdin”设置自动设置密码)
错误重定向:2> 2>. &> 脚本执行过程中可以忽略过程信息 &>/dev/null
示例3:截取/etc/passwd文件中的有效的用户和登录shell
示例4:免交互创建用户 passwd命令结合–stdin识别标准输入
示例5:自动安装httpd
示例6:截取根分区的使用率以及ip地址
涉及到的命令 脚本三剑客 grep awk sed
1.grep:截取文件中包含特定字符串的行 格式为 grep “要筛选的字符串” 文件
2.awk:截取文件中特定的字段,默认以空格为段之间的分隔符 格式为:
awk [-F分隔符] ‘{print $1,$2,…}’
五、变量:可以保存值的内存空间
1.构成:变量名=变量值
2变量类型:自定义变量 环境变量 位置变量 预定义变量
自定义变量
①变量定义:变量名要以字母或下划线开始,建议全大写
②变量赋值的方法:①变量名=值 ②read [-p 提示] 变量1 变量2 从键盘上位变量赋值,多余的内容给最后的变量
③查看和引用变量:echo $变量名 变 量 名 2..... ④ 关 于 变 量 赋 值 的 几 个 引 号 : 双 引 号 : 允 许 通 过 变量名2 ..... ④关于变量赋值的几个引号: 双引号:允许通过 2.....符号引用其他变量值
单引号:禁止引用其他变量值,$视为普通字符
反撇号:命令替换,提取命令执行后的输出结果 $()也可以实现嵌套
大括号:分割变量名和普通字符
示例7:关于引号的使用
⑤设置变量作用范围:导出全局变量 export 变量名
环境变量定义用户工作环境,如PATH、PWD、USER等 用env可以输出所有环境变量值
⑥数值变量的运算:只能进行简单的整数运算 运算符前后要空格
格式:expr 变量1 运算符 变量2
示例8:关于shell整数简单运算
位置变量:定义脚本后对应的参数$1,$2…$9
示例9:关于位置变量的应用
预定义变量:也是由系统定义好的,但不能人为输入值 ,有:
$#:命令行中位置变量的个数
$:所有位置变量的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
$0:当前执行的进程/程序名
示例10:关于预定义变量的使用
六、编写mysql备份脚本并设置计划执行
示例11
1.创建数据库
mysql> CREATE DATABASE studydb;
mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL,user_passwd CHAR(48) DEFAULT ‘’,PRIMARY KEY (user_name));
2.创建用户并授权:需要select和lock table权限
mysql> GRANT select,lock tables ON coursedb.
TO ‘opertor’@‘localhost’ IDENTIFIED BY ‘pwd123’;
3.编写脚本
4.设置权限
5.设置计划

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值