微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/bash/389276.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐