Linux学习 -- 特殊shell中的扩展变量

 对变量的处理,以下四个扩展变量,都是对变量的 值进行判断处理 。

1、如果parameter变量值为空,返回word字符串,赋值给result变量。

        命令:result=${parameter : -word}


2、如果parameter变量为空,则word替代变量值,且返回其值

        命令:${parameter : =word}


3、如果para变量为空,word当作stderr输出(错误信息),否则输出变量值

        常用于设置变量为空导致错误时,返回的错误信息

        命令:${parameter : ?word}


4、如果para变量为空,什么都不做,否则word返回

        命令:${parameter :+word}

案例操作:

当变量值为空和不为空的时候,扩展变量如何?

1、变量名:- 附加信息

        当变量值为空的时候,输出附加信息

        当变量值不为空的时候,输出变量本身值

2、:=

        当变量值为空的时候,将附加信息赋值给变量

        当变量值不为空的时候,输出变量本身值

3、:?

      当变量值为空的时候,将附加值作为错误信息输出

        当变量值不为空的时候,输出变量本身值。

4、:+

      当变量值为空的时候,什么都不做

        当变量值不为空的时候,输出附加信息

数据备份,删除过期数据的脚本


find xargs     表示搜索,且删除

#删除7天以上的过期数据
find 需要搜索的目录 -name 你要搜索的文件名字 -type 文件类型 -mtime +7 xargs rm -f

cat del_data.sh
# shell语法是否有bug
#希望删除某个数据文件夹的备份文件

#dir_path=" / data/mysql_back_data/"


#如果有bug歧义,就会在当前目录,搜索,删除
#find ${dir_path} -name '*.tar.gz ' -type f -mtime +7|xargs rm -f


#变量扩展的改进
find ${dir_path:=/data/mysql_back_data/} -name '*.tar.gz' -type f -mtime +7/xargsrm -f

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值