一、为什么要学习Shell编程
1、Linux运维工程师在进行服务器集群管理时,需要编写Shell程序进行服务器管理。
2、对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shell脚本进行程序进行服务器的维护,比如编写一个定时备份数据库的脚本。
3、对于大数据程序员来说,需要编写Shell程序来管理集群。
二、Shell是什么
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
三、编写第一个Shell脚本
1、脚本格式要求
- 脚本以#!/bin/bash开头
- 脚本需要有可执行权限
2、用Shell脚本输出hello shell
四、Shell的变量
1、Shell变量简介
- Linux Shell中的变量分为系统变量和用户自定义变量。
- 系统变量:$HOME、$PWD、$SHELL、$USER等,比如echo $HOME
- 显示当前shell中所有变量:set
2、shell变量的定义
(1)基本语法:
- 定义变量:变量名=值
- 撤销变量:unset 变量
- 声明静态变量:readonly变量,注意,不能unset
(2)定义变量的规则:
- 变量名称可以由字母、数字和下划线组成,但是不能以数字开头。
- 等号两侧不能有空格
- 变量名称一般习惯为大写,这是一个规范,遵守即可。
(3)将命令的返回值赋给变量
- NAME=`date`反引号,运行里面的命令,并将结果赋给变量NAME
- NAME=$(date)等价于反引号
3、代码实例
五、传参
六、备份数据库
1、需求分析
- 每天凌晨2:30备份数据库gooReey到/data/backup/db
- 备份开始和备份结束能够给出相应的提示信息
- 备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如:2021-04-17_230201.tar.gz
- 在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除
2、代码实例
往期精彩内容:
【全栈最全Java框架总结】SSH、SSM、Springboot
转载:https://blog.csdn.net/guorui_java/article/details/115792966
查看评论