如果我有一个包含许多命令的m4
脚本:
define(this, that)
define(or,this)
define(other,thing)
我打电话:
$: m4 script.m4 my_file
输出为:
# N newlines for the N commands in the script
# first line of my file
是否可以禁止调用N newlines
时脚本读入导致的m4
,还是我必须将其包装在某些调用命令中(例如sed
或grep
)?
答案 0 :(得分:1)
您可以使用dnl
宏删除define
的新行。例如。来自this tutorial:
define宏本身(包括其两个参数)扩展为 空字符串,即不产生任何输出。但是换行符在 上面AUTHOR定义的末尾将回显到输出。 如果在输出中添加空白行是一个问题,则可以取消 使用“删除到换行符”宏:
define(AUTHOR, W. Shakespeare)dnl
宏的末尾和dnl之间没有空格:如果存在 那么该空间将被回显到输出。