• 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天前备份的数据库 ,如果有就将其删除。

  • 相关阅读:
    POJ1741 Tree(树分治)
    codeforces713D Animals and Puzzle(二维倍增)
    codeforces713C Sonya and Problem Wihtout a Legend(dp)
    codeforces724E Goods transportation(最小割——dp)
    codeforces710E Generate a String(dp)
    codeforces Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) 题解(A-D)
    BNUOJ52317 As Easy As Possible(树上倍增)
    hihocoder1386 Pick Your Players(dp)
    常用函数
    vector总结(更新中。。。)
  • 原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14350173.html
Copyright © 2020-2023  润新知