1

全部,

在我的 shell 脚本开始时,我设置了一个名为filespresent="false"

如果它找到要通过 SQLLoader 处理的文件,此变量将用作稍后在我的 shell 脚本日志中指示的标志

问题是我的 if 语句不起作用,它给出了以下错误

[假:未找到

这是我的代码

if ["$filespresent" == "false"]
then
    echo ">>>No CSV files in : " $inbox " folder, skipped SQLLoader" >> script.log
fi

我在这里查看了字符串比较教程,也许 Solaris 与 Linux 不同? http://www.tech-recipes.com/rx/209/bournebash-shell-scripts-string-comparison/

4

1 回答 1

2

[您需要在和周围留出空格]。说:

if [ "$filespresent" == "false" ]

[是一个命令。Saying["$filespresent"会导致 shell 将其解释为一个标记而不是命令。


运算符在==中不可用sh,请=改用:

if [ "$filespresent" = "false" ]
于 2013-10-24T12:42:42.120 回答