在编写shell的时候我们都需要万分小心,尤其是给root执行的脚本
#!/bin/bash .... rm -rf $1/$2/bin/ ....
假设上述脚本我执行的时候没有传递参数,造成的后果是相当恐怖的。
有没有好的办法解决这个问题,答案是有的
#!/bin/bash .... if [ !$1 ]; echo '$1 is null' exit 1 fi if [ !$2 ]; echo '$1 is null' exit 1 fi rm -rf $1/$2/bin ....
难道我们在使用变量之前,都要判断是否为null,这样太繁琐了,有没有更好的解决办法,答案依然是有的
#!/bin/bash set -u .... rm -rf $1/$2/bin ....
当设置set -u 后,使用未赋值的变量时shell将自动退出
本文深入探讨了在使用Shell编程时避免危险操作的方法,通过实例展示了如何在脚本中检查变量是否为空,以及如何设置脚本运行时的严格模式以提升代码安全性。同时介绍了几种有效的方法来确保脚本在执行前不会因为未定义变量而导致意外结果。
3331

被折叠的 条评论
为什么被折叠?



