Linux 脚本安全设置set-u set-e

举个脚本误删除整库例子:

#!/bin/bash
DIR=/myFolder
rm -rf $DiR/*

从上面的例子可以看到,第三行的DiR写错了,DiR没有被赋值,原本脚本的功能是删除myFolder下的所有文件,结果最后执行为 rm -rf /*

为了防止这样灾难出现,我们可以在脚本最前加上

#-u Treat unset variables as an error when substituting.
#-u 当替换(发现)一个未被赋值的变量时报错
set -u

另,为了防止报错后后序脚本继续执行,可以在脚本最前面加上

#-e  Exit immediately if a command exits with a non-zero status.
#-e 当一行命令返回值为非0时(命令执行错误),直接退出脚本
set -e
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值