因此,我删除了我的主文件夹(或更确切地说,是我拥有写权限的所有文件)。发生的是我有
build="build"
...
rm -rf "${build}/"*
...
<do other things with $build>
在bash脚本中,并在不再需要$build
时删除了声明及其所有用法-而是rm
。Bash高兴地扩展到rm -rf /*
。是的
我感到很愚蠢,安装了备份,重新进行了丢失的工作。试图摆脱耻辱。
现在,我想知道:什么是编写bash脚本以使此类错误不会发生或者至少不太可能发生的技术?例如,我写过吗
FileUtils.rm_rf("#{build}/*")
在Ruby脚本中,解释器会抱怨build
没有声明,因此该语言可以保护我。
我在bash中考虑过的内容,除了合计rm
(相关问题中的许多答案都提到了,这并非没有问题):
rm -rf "./${build}/"*
那会杀死我目前的工作(一个Git回购),但没有别的。rm
在当前目录之外执行操作时,需要进行交互的变体/参数化。(找不到任何内容。)类似的效果。
是这样吗,或者还有其他方法可以编写这种意义上的“健壮” bash脚本吗?
#! /usr/bin/env ruby
在每个shell脚本的顶部,而忘记了庆典;)
rm -rf "${build}/*
无论引号在哪里,都没有理由。rm -rf "${build}
因为会做同样的事情f
。