【发布时间】:2015-10-05 22:51:46
【问题描述】:
这是一个简化的 Makefile,但暴露了我面临的同样问题:
all:
for i in *.pod; do g=${i%%.pod}; echo ${g};done
我想要的是得到没有后缀的文件名。但是当我运行 make 时,我看到了这个:
for i in *.pod; do g=; echo ;done
在我看来,shell 中的美元替代品已被完全修剪掉。
这样做的正确方法是什么?
【问题讨论】:
-
您真的想回显几个不带后缀的文件名,还是想在 shell 命令中进行一般变量替换?
-
为了避免将
$解释为表示替代,您需要将其翻倍$$。