【问题标题】:How to warn for the use of unset variables in a KornShell script.如何警告在 KornShell 脚本中使用未设置的变量。
【发布时间】:2010-09-24 10:27:50
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: linux unix shell scripting ksh


    【解决方案1】:

    命令

    设置-u

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

    例子:

    $ 回声 $foo $设置-u $ 回声 $foo sh: foo: 参数未设置

    【讨论】:

      【解决方案2】:

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

      但是,这仍然不能解决这样的 PEBCAK 错误 - 你只知道什么都没发生。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-09-24
        • 2022-11-05
        • 2010-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多