Makefile将变量传递给bash脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Makefile将变量传递给bash脚本相关的知识,希望对你有一定的参考价值。
我想从一个Makefile中将一个以空格分隔的引用子串字符串传递给make
目标(实际上是几个不同的make
目标)。目标只执行一个bash脚本,然后将每个引用的子字符串作为位置参数传递给另一个脚本。
测试Makefile
:
FOO="foo bar"
FOO+="bar baz"
FOO+="baz qux"
FOO+="qux"
export FOO
t:
./script.sh
这是script.sh
:
#! /bin/bash
set -ex
./thing.sh "$FOO"
这不起作用;输出(注意周围的单引号)是:
答案
这是一种解决Makefile级别问题的方法:
FOO="foo bar"
FOO+="bar baz"
FOO+="baz qux"
FOO+="qux"
export FOO
t:
eval './script.sh $(FOO)'
这是script.sh
。
#! /bin/bash
set -ex
./thing.sh "$@"
这是thing.sh
。
#! /bin/bash
echo "$1"
echo "$2"
echo "$3"
echo "$4"
输出:
以上是关于Makefile将变量传递给bash脚本的主要内容,如果未能解决你的问题,请参考以下文章