Linux:函数,系统函数、自定义函数、Shell案例

总结:

系统函数:

basename [pathname] [suffix]

dirname 文件绝对路径

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

 

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

选项:
suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
• 应用实例
案例1:请返回 /home/aaa/test.txt 的 "test.txt" 部分

basename /home/aaa/test.txt 

Linux:函数,系统函数、自定义函数、Shell案例

basename /home/aaa/test.txt  .txt      添加后缀之后执行

Linux:函数,系统函数、自定义函数、Shell案例

 

1.2 •dirname基本语法
功能:返回完整路径最后 / 的前面的部分,常用于返回路径部分
dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分))
• 应用实例
案例1:请返回 /home/aaa/test.txt 的 /home/aaa

dirname /home/aaa.test.txt

Linux:函数,系统函数、自定义函数、Shell案例

 

1.3自定义函数
• 基本语法
[ function ] funname[()]
{
Action;
[return int;]
}

调用直接写函数名:funname [值]
• 应用实例
案例1:计算输入两个参数的和, getSum

      Linux:函数,系统函数、自定义函数、Shell案例

     Linux:函数,系统函数、自定义函数、Shell案例

二、Shell综合案例

需求分析
1) 每天凌晨 2:10 备份 数据库 atguiguDB 到 /data/backup/db
2) 备份开始和备份结束能够给出相应的提示信息
3) 备份后的文件要求以备份时间为文件名,并打包成 .tar.gz 的形式,比如:
2018-03-12_230201.tar.gz
4) 在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除

Linux:函数,系统函数、自定义函数、Shell案例

Linux:函数,系统函数、自定义函数、Shell案例

Linux:函数,系统函数、自定义函数、Shell案例

然后添加到定时任务中

Linux:函数,系统函数、自定义函数、Shell案例