前言:我们时常遇到rm -rf /*删库事件发生。那么我们在编写脚本的时候预防它是很有必要的,接下来我会提供以下几种方案
方案一:在shell脚本前指定set -u,让bash默认忽略不存在的变量
(1)在没有set -u的状态下的执行结果
#!/bin/usr/env bash
#set -u
echo "$a"
echo "hello world"
(2)加上set -u后,可以发现,遇到不存在的变量就会报错,并停止执行
可以看到,因为 a 是未定义变量,脚本报错了,并且不再执行后面的语句