2017-05-25 41 views
1

我有一幢建筑物(有些笨拙)系统和服务器的远程控制:空行从发行的Makefile通过ssh几个命令时

SSH = ssh -t [email protected] '$(1)' 

SEPARATOR = \n\n\n 

do_something: 
    $(call SSH, $(CMD1); $(SEPARATOR); $(CMD2)) 

之间$(CMD1)$(CMD2),我想在控制台上看到可见的分隔符以提高可读性。正如你所看到的,我尝试了一些非常明显的东西,但它不能按预期工作。不需要看起来很完美的东西。

我完全知道一般情况下可能会有更好的方法,但目前系统正常工作,所以我不想仅仅因为诸如$(SEPARATOR)之类的小事情而完全重新设计它。

+0

它不工作对我来说:'的Makefile:6:***未终止通话的功能“来电”:缺少“ )”。 Stop.'。修复之后,再添加一个:'Makefile:6:*** unterminated call to function'call':missing')'。 Stop.'。 – Jakuje

+0

@Jakuje:似乎在简单举例时删除了括号。从SO直接复制到文本编辑器时,可能无法正常工作,因为在$(call ....)之前的选项卡与空白区域相比较。但显然,这并不是真正意义上的一个工作示例,而是为了说明我正在尝试做什么;-) – Michael

回答

1

那么......显然只是写一个“\ n”转义将不适合你。如果你想有它写在你的成绩单,你需要打印出来,如

$(call SSH, $(CMD1); printf "$(SEPARATOR)"; $(CMD2))