避免shell脚本删除文件或目录,由于变量不存在,导致从根目录或者当前目录开始删的方法

避免shell脚本删除文件或目录,由于变量不存在,导致从根目录或者当前目录开始删的方法

如果app_path变量没有值,将“UNSET”赋值给path
path=${app_path:-“UNSET”}
[ $path != “UNSET” ] && rm -rf $path/*.jpg

[root@mysql_5 ~]# ls /tmp/
10.log 1.log 2.log 3.log 4.log 5.log 6.log 7.log 8.log 9.log i.log
[root@mysql_5 ~]# cat rm.sh
#/bin/bash
rm -f ${path=/tmp}/*.log
echo “remove log is ok !”
[root@mysql_5 ~]# sh -x rm.sh

  • rm -f /tmp/10.log /tmp/1.log /tmp/2.log /tmp/3.log /tmp/4.log /tmp/5.log /tmp/6.log /tmp/7.log /tmp/8.log /tmp/9.log /tmp/i.log
  • echo ‘remove log is ok !’
    remove log is ok !
    [root@mysql_5 ~]# ls /tmp

或者:
如果app_path变量没有值,则退出shell并输出:parameter null or not set
path=${app_path:?}
rm -rf $path/*.jpg

[root@mysql_5 ~]# ls /tmp/
10.log 1.log 2.log 3.log 4.log 5.log 6.log 7.log 8.log 9.log i.log
[root@mysql_5 ~]# cat rm.sh
#/bin/bash
rm -f ${path:?}/*.log
echo “remove log is ok !”
[root@mysql_5 ~]# sh -x rm.sh
rm.sh: line 2: path: parameter null or not set
[root@mysql_5 ~]# ./rm.sh
./rm.sh: line 2: path: parameter null or not set

上面两种方法都可以避免变量不存在导致误删除的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值