我的印象是我可以在GNU makefile中调用bash函数,但似乎是错误的。这是一个简单的测试,我定义了此功能:

>type lsc
lsc is a function
lsc ()
{
    ls --color=auto --color=tty
}

这是我的Makefile:
>cat Makefile
all:
    lsc

这是我运行make的过程:
>make
lsc
make: lsc: Command not found
make: *** [all] Error 127

我的印象错了吗?还是有任何环境设置问题?我可以在命令行中运行“lsc”。

最佳答案

您不能调用Makefile中的bash函数或别名,只能调用二进制文件和脚本。但是,您可以做的是调用交互式bash并指示它调用您的函数或别名:

all:
    bash -i -c lsc

例如,如果lsc是在.bashrc中定义的。

关于makefile - 无法在Makefile中调用bash函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13109242/

10-11 16:52