我正在尝试为一个项目编写一个简单的 Makefile,并使用一些 ASCII 艺术作为标题,但是当我运行它时,我不断收到错误。有没有办法添加多行 echo 语句而不是 @echoing 每行?这可能不会给我带来错误,比如BOF-之类EOF的东西?
我所拥有的是;
.PHONY: all
info: header
header:
clear
@echo "___________ __ "
@echo "\__ ___/___ _______/ |_ "
@echo " | |_/ __ \ / ___/\ __\"
@echo " | |\ ___/ \___ \ | | "
@echo " |____| \___ >____ > |__| "
@echo " \/ \/ "
Run Code Online (Sandbox Code Playgroud)
当我运行它时,出现以下错误;
___________ __
\__ ___/___ _______/ |_
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [header] Error 2
Run Code Online (Sandbox Code Playgroud)
\您的问题来自外壳程序对字符的解释。你可以通过将它们全部加倍来逃避它们,或者你可以尝试这个,这可能更简单一些:
.PHONY: all
info: header
define HEADER
___________ __
\__ ___/___ _______/ |_
| |_/ __ \ / ___/\ __\\
| |\ ___/ \___ \ | |
|____| \___ >____ > |__|
\/ \/
endef
export HEADER
header:
clear
@echo "$$HEADER"
Run Code Online (Sandbox Code Playgroud)
注意:您仍然需要将\文本字符串行尾的 双重化,以避免它们被解释为续行。
| 归档时间: |
|
| 查看次数: |
1132 次 |
| 最近记录: |