2

有没有办法在 KornShell (ksh) 脚本中抛出错误或警告以防止使用未设置的变量?假设我有一个要删除的临时文件夹。

TEMP_FILES_DIR='/app/myapp/tmp'
rm -Rf $TEMP_FILE_DIR #notice the misspelling

如何在这种错误真正发生之前防止它们发生?

我知道脚本应该在尝试删除之前检查文件是否存在和空字符串,这只是一个愚蠢的例子来说明可以通过一些警告避免的错误。我不知道这个功能是否存在于 ksh 中。如果它确实存在,你如何打开它?

4

2 回答 2

7

命令

设置-u

当尝试扩展未设置的变量时,将导致 POSIX sh (1) 及其派生词发牢骚。

例子:

$ 回声 $foo

$设置-u
$ 回声 $foo
sh: foo: 参数未设置
于 2008-11-28T11:00:02.123 回答
0

您可以检查变量是否有内容,即不是'',并打印出一条消息,如“变量为空”。

然而,这仍然不能解决这样的 PEBCAK 错误——你所知道的就是什么也没发生。

于 2008-11-28T10:48:17.777 回答