2

我有一个 bash 脚本,它遍历不同的子项目目录并在那里执行make target。

每个 makefile 都可以有自己的变量,例如 $(MY_FILTERS) 分配给 makefile。所以它是一个makefile的内部变量。

有没有办法可以导出此类变量以将其内容添加到可从主脚本访问的某个系统/shell 变量中?

我希望这不是父进程不能被子进程修改的情况??

4

1 回答 1

3

我希望这不是父进程不能被子进程修改的情况??

希望破灭了,抱歉,您必须使用某种 IPC。这是一种方法:

#!/bin/bash
export pipe="/tmp/mypipe.$$"
trap 'rm "$pipe"' EXIT 
mkfifo "$pipe" 

make &

read myfilters < "$pipe"
echo "myfilters is $myfilters" 

生成文件:

all:
    echo ${MY_FILTERS} > ${pipe}

(请注意,echo缩进带有制表符)

于 2012-08-23T11:10:57.577 回答