gpt4 book ai didi

linux - shell 和 makefile 之间的公共(public) "include"文件

转载 作者:太空宇宙 更新时间:2023-11-04 09:22:23 24 4
gpt4 key购买 nike

我创建了一个(面向 makefile 的)包含文件,其中包含一些定义为供其他 makefile 使用的变量。

# this is myinclude/makevars file
MY_FOLDER:=$(ROOT_FOLDER)/my/folder
ANOTHER_FOLDER:=$(MY_FOLDER)/another/folder
MY_LIB:=$(ANOTHER_FOLDER)/lib

如果我将这个“包含文件”包含在其他 makefile 中,它会非常有效:

include myinclude/makevars

但如果我也可以将它包含在某些 shell 脚本中,那就太棒了!目前我已经创建了另一个非常相似但面向“shell”的文件(myinclude/shellvars):

# this is myinclude/shellvars file
MY_FOLDER=$ROOT_FOLDER/my/folder
ANOTHER_FOLDER=$MY_FOLDER/another/folder
MY_LIB=$ANOTHER_FOLDER/lib

很明显,通过将其包含在我的(shell)脚本中,一切正常,但我有一个重复的文件(在语义上)具有相同的信息!

有没有想过将这两个文件“合并”为一个文件(myinclude/makevars 和 myinclude/shellvars)?任何特殊的语法?非常感谢任何帮助!

-- 卡斯帕!

最佳答案

试试这个:

eval "$(cat makevars.inc | tr -d '(:)')"
echo "$MY_LIB"

这会将目标包含文件的文本加载到内存中,从中删除所有冒号和括号,然后执行结果。

关于linux - shell 和 makefile 之间的公共(public) "include"文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40463980/

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