Bash脚本无法识别文件

时间:2018-11-25 20:03:06

标签: bash shell

我正在尝试编写bash脚本。在一个测试中,我编写了一个脚本来检查test.txt是否存在。但是,无论我尝试更改格式多少次,代码仍然无法识别文件。

    while [ "$INPUT" != "quit" ]; do
        read INPUT
        COMMANDFILE=test.txt
        if [ -f $COMMANDFILE ]; then
            echo "Found file!"
        fi
    done

我100%肯定text.txt存在,并且与我的脚本位于同一文件夹中。

1 个答案:

答案 0 :(得分:2)

在这种情况下,我将在脚本中添加一些调试行,以确保我的想法正确。例如:

while [ "$INPUT" != "quit" ]; do
    read INPUT
    COMMANDFILE=test.txt
    echo "debug: now I'm in $( pwd ) directory. dir listing:"
    ls -la
    if [ -f $COMMANDFILE ]; then
        echo "Found file!"
    fi
done

也请注意,Linux文件名区分大小写(这意味着您可以在同一目录中包含test.txt和TeSt.txt)。因此,例如,如果您有一个名为TEST.TXT的文件,则[-f test.txt]的计算结果将为false(除非也存在test.txt)