bash – 测试makefile文件中是否存在目录

前端之家收集整理的这篇文章主要介绍了bash – 测试makefile文件中是否存在目录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在他的 answer @Grundlefleck解释如何检查目录是否存在。我尝试一些使用这里面一个makefile如下:
foo.bak: foo.bar
    echo "foo"
    if [ -d "~/DropBox" ]; then
        echo "Dir exists"
    fi

运行make foo.bak(给定foo.bar存在)会产生以下错误

echo "foo"
foo
if [ -d "~/DropBox" ]; then
/bin/sh: -c: line 1: Syntax error: unexpected end of file
make: *** [foo.bak] Error 2

我做的解决方法是有一个独立的bash脚本,测试被实现,我从makefile调用脚本。然而,这听起来很麻烦。有没有更好的方法来检查目录是否存在从一个makefile?

使命令(如果shell命令)必须在一行中,或者在多行上使用反斜杠作为行扩展名。所以,这种方法将工作:
foo.bak: foo.bar
    echo "foo"
    if [ -d "~/DropBox" ]; then echo "Dir exists"; fi

要么

foo.bak: foo.bar
    echo "foo"
    if [ -d "~/DropBox" ]; then \
        echo "Dir exists"; \
    fi

猜你在找的Bash相关文章