参考网址为:【小白入门 通俗易懂】2021韩顺平 一周学会Linux_哔哩哔哩_bilibili
请大家多多支持韩老师~
大部分内容为教程内容,也有部分自己实验和添加的内容,如涉及侵权,会进行删除。
一、系统函数
1、basename:返回完整路径最后/的部分,常用于获取文件名
基本语法:
basename [pathname] [suffix]
basename [string] [suffix]
basename 命令会删掉所有的后缀包括最后一个/字符,然后将字符串显示出来
示例:请返回/home/apple.txt的apple.txt部分
[root@SHUYUAN home]# basename /home/apple.txt
apple.txt
2、dirname:返回路径最后/的前面的部分,常用于返回路径部分
基本语法:
dirname 文件绝对路径
示例:
[root@SHUYUAN home]# dirname /home/apple.txt
/home
二、自定义函数
1、基本语法
function funname()
{
action;
[return int;]
}
调用直接写函数名;funname [值]
示例:计算输入两个参数的和(动态获取),getSum
(1)创建testFun.sh函数
[root@SHUYUAN shcode]# vim testFun.sh
(2)编辑内容
#!/bin/bash
#示例:计算输入两个参数的和(动态获取),getSum
#自定义函数 getSum
function getSum(){
Sum=$[$n1+$n2]
echo "和是=$Sum"
}
#输入两个值
read -p "请输入一个数n1=" n1
read -p "请输入一个数n2=" n2
#调用自定义函数
getSum $n1 $n2
(3)输出结果
[root@SHUYUAN shcode]# chmod u+x testFun.sh
[root@SHUYUAN shcode]# ./testFun.sh
请输入一个数n1=98
请输入一个数n2=12
和是=110
三、综合案例
需求分析:
1、每天凌晨2:30备份数据库shuyuanx到/data/backup/db
2、备份开始和备份结束能够给出相应的提示信息
3、备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如:2021-03-12_2300201.tar.gz
4、在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除。
思路分析图: