shell编程(下)

一---read读取控制台输入

基本语法
read 选项 参数
选项说明:
-p 指定读取时的提示符。
-t 指定读取等待的时间,超时不再等待。
参数:
变量:指定读取值的变量名
应用实例:
案例1:读取控制台输入一个NUM1值
read -p "请输入一个数" NUM1
echo "您输入的数为:" $NUM1

案例2:读取控制台输入一个NUM2的值,在10秒内输入。
read -t 10 -p "请输入 一个数" NUM2
echo "您输入的数为" $NUM2


二---函数:

1)basename
返回完整路径最后/的部分,常用于获取文件名
basename [patnname] [suffix]
basename[string][后缀](删除所有的前缀包括最后一个'/'字符,然后将字符串显示出来。

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

应用案例:
返回/home/aaa/test.txt的“test.txt”部分。
basename /home/aaa/test.txt

2)dirname:
返回路径最后/的前面的部分,返回路径部分

案例:返回/home/aaa/test.txt的/home/aaa
dirname /home/aaa/test.txt

3)自定义函数:

基本语法
function 函数名()
{

代码;
return int;

}
调用直接写函数名:函数名 [值]

案例1:计算输入两个参数的和。
#!/bin/bash

function getSum() {
SUM=$[ $n1+$n2 ](注意等号两边不能有空格)
echo "和是=$SUM"
}
read -p "请输入一个数n1=" n1
read -p "请输入一个数n2=" n2

getSum $n1 $n2
~


四---shell编程综合案例

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

原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14350173.html