我被要求在薄荷上运行一个makefile,我输入选项'clean' about:
clean: <tab> rm -f test_{a,b}.o
我在shell rm -f test_{a,b}.o中键入此命令,它确实删除了文件test_a.o和test_b.o,但它在Mint OS上不起作用,但在CentOS7上起作用。我想找出这个问题的原因。现在我暂时用rm -f test_a.o test_b.o代替。
rm -f test_{a,b}.o
test_a.o
test_b.o
rm -f test_a.o test_b.o
ee7vknir1#
这取决于 shell :Bash支持大括号扩展,但是dash不支持,dash是Ubuntu上默认的/bin/sh shell;/bin/sh是Makefile中的默认shell。您可以使用以下命令切换Makefile中使用的shell
/bin/sh
SHELL = /bin/bash
1条答案
按热度按时间ee7vknir1#
这取决于 shell :Bash支持大括号扩展,但是dash不支持,dash是Ubuntu上默认的
/bin/sh
shell;/bin/sh
是Makefile中的默认shell。您可以使用以下命令切换Makefile中使用的shell