shell makefile中命令'rm'的规则文件匹配是什么?

h22fl7wq  于 2023-03-09  发布在  Shell
关注(0)|答案(1)|浏览(94)

我被要求在薄荷上运行一个makefile,我输入选项'clean' about:

clean:
<tab> rm -f test_{a,b}.o

我在shell rm -f test_{a,b}.o中键入此命令,它确实删除了文件test_a.otest_b.o,但它在Mint OS上不起作用,但在CentOS7上起作用。
我想找出这个问题的原因。现在我暂时用rm -f test_a.o test_b.o代替。

ee7vknir

ee7vknir1#

这取决于 shell :Bash支持大括号扩展,但是dash不支持,dash是Ubuntu上默认的/bin/sh shell;/bin/sh是Makefile中的默认shell。您可以使用以下命令切换Makefile中使用的shell

SHELL = /bin/bash

相关问题