Shell 通过ssh从Makefile发出两个命令时为空行
我有一个(有些笨拙)的系统,用于构建和远程控制服务器:Shell 通过ssh从Makefile发出两个命令时为空行,shell,ssh,makefile,Shell,Ssh,Makefile,我有一个(有些笨拙)的系统,用于构建和远程控制服务器: SSH = ssh -t me@server '$(1)' SEPARATOR = \n\n\n do_something: $(call SSH, $(CMD1); $(SEPARATOR); $(CMD2)) 在$(CMD1)和$(CMD2)之间,我希望在控制台上看到一个可见的分隔符,以提高可读性。正如你所看到的,我尝试了一些非常明显的方法,但没有达到预期效果。不需要看起来完美的东西 我很清楚,一般来说可能有更好的方法,但
SSH = ssh -t me@server '$(1)'
SEPARATOR = \n\n\n
do_something:
$(call SSH, $(CMD1); $(SEPARATOR); $(CMD2))
在$(CMD1)
和$(CMD2)
之间,我希望在控制台上看到一个可见的分隔符,以提高可读性。正如你所看到的,我尝试了一些非常明显的方法,但没有达到预期效果。不需要看起来完美的东西
我很清楚,一般来说可能有更好的方法,但目前系统运行正常,所以我不想仅仅因为像
$(分隔符)
这样的小问题就完全重新设计它。。。显然,仅仅写一个“\n”转义符对您不起作用。如果您希望将其写入成绩单,则需要打印成绩单,例如
$(call SSH, $(CMD1); printf "$(SEPARATOR)"; $(CMD2))
它对我不起作用:
Makefile:6:**对函数“call”的未终止调用:缺少“')。停止。
。修复该问题后,再执行一次:Makefile:6:**unterminated调用函数“call”:missing')。停止。
@Jakuje:似乎我在简化示例时删除了括号。当直接从SO复制到文本编辑器中时,它可能不起作用,因为$(call…)前面有制表符和空格。但很明显,这并不是一个真正的工作示例,而是给出我正在尝试做的想法;-)