Shell编程之函数和综合练习

本文介绍了Shell编程中的系统函数basename和dirname,以及如何使用它们来处理路径。basename用于获取文件名,dirname用于获取路径部分。此外,还展示了自定义函数的创建和调用方法,并给出了计算两数之和的示例。文章最后提出了一个综合案例,要求编写一个Shell脚本,实现凌晨2:10备份数据库、输出提示信息、以备份时间为文件名并打包,以及删除10天前的旧备份文件。
摘要由CSDN通过智能技术生成

函数

函数介绍:
shell编程和其他编程语言一样,有系统函数,也可以自定义函数。系统函数,我们这里就介绍两个。

1.系统函数

basename 基本语法
功能:返回完整路径最后 / 的部分,常用于获取文件名
basename [pathname] [suffix]
basename [string] [suffix] (功能描述:basename命令会删掉所有的前缀包括最后一个‘/’字符,然后将字符串显示出来)

选项:
suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉

dirname基本语法
功能:返回完整路径最后/的前面的部分,常用于返回路径部分
dirname 文件绝对路径(功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录部分),然后返回剩下的路径(目录的部分))

应用实例:
案例1:请返回/home/aaa/test.txt的test.txt部分
在这里插入图片描述
案例2:
请返回/home/aaa/test.txt的/home/aaa
在这里插入图片描述

2.自定义函数

基本语法:

[ function ] funname [()]
{
action
[return init]
}

调用函数:funname [值]

应用实例:
案例1:计算输入两个参数的和(read),getsum
在这里插入图片描述

3.shell编程综合案例

需求分析:
1)每天凌晨2:10备份数据库 db2到 /data/backup/db
2)备份开始和备份结束都会输出相应的提示信息
3)备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如2018-03-12_230201.tar.gz
4)在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除。
编写一个shell脚本
思路分析:
在这里插入图片描述
代码实现:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值