有没有办法在KornShell(ksh)脚本中抛出错误或警告,以防止使用未设置的变量?假设我有一个我想删除的临时文件夹.
TEMP_FILES_DIR='/app/myapp/tmp' rm -Rf $TEMP_FILE_DIR #notice the misspelling
如何在实际发生之前预防这种错误?
我知道脚本应该在尝试删除之前检查文件是否存在和空字符串,这只是一个愚蠢的例子来说明一些警告可以避免的错误.我不知道ksh中是否存在此功能.如果它确实存在,你如何打开它?
命令
set -u
当尝试扩展未设置的变量时,将导致POSIX sh(1)及其衍生物发挥作用.
例:
$ echo $foo $ set -u $ echo $foo sh: foo: parameter not set