我有一个makefile,我想从输入中读取模块名称,然后根据它的名称创建目录。这是我的代码:
build:
@read -p "Enter Module Name:" module;
module_dir=./modules/$$module
mkdir -p $$module_dir/build;
但是在设置 module_dir 之后,它只包含 ./ modules / (没有连接模块名称)。
我的代码出了什么问题?
感谢您的回答
答案 0 :(得分:58)
每个命令都在自己的子shell中运行,因此变量无法从一个命令生存到下一个命令。把它们放在同一条线上它们会起作用:
build:
@read -p "Enter Module Name:" module; \
module_dir=./modules/$$module; \
mkdir -p $$module_dir/build