gpt4 book ai didi

bash - 测试目录是否存在于 makefile 中

转载 作者:行者123 更新时间:2023-11-29 08:40:42 28 4
gpt4 key购买 nike

在他的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 中?

最佳答案

Make 命令,如果是 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 - 测试目录是否存在于 makefile 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20763629/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com