我有一个 makefile,我想从输入中读取模块名称,然后根据其名称创建目录。这是我的代码:
build:
@read -p "Enter Module Name:" module;
module_dir=./modules/$$module
mkdir -p $$module_dir/build;
但是设置
module_dir
后,它只包含./modules/
(没有连接模块名称)。
我的代码有什么问题?
每个命令都在自己的子 shell 中运行,因此变量无法从一个命令延续到下一个命令。将它们放在同一条线上,它们就会工作:
build:
@read -p "Enter Module Name:" module; \
module_dir=./modules/$$module; \
mkdir -p $$module_dir/build