如何 运行 m4 内联

How to run m4 inline

我有以下方法来处理文件:

$ vim file2
define(add2, `eval(+)')
Adding 2+4=add2(2,4)

然后 运行:

$ m4 file
Adding 2+4=6

有没有办法 运行 m4 内联文件内容?例如:

$ m4 <inline>
define(add2, `eval(+)')
Adding 2+4=add2(2,4)
<ctrl-d>
# Adding 2+4=6

这怎么可能?

一个选项是 'interactive mode':

  -e, --interactive
     unbuffer output, ignore interrupts

在这种情况下你可以这样做:

IM-MM:DD_Objects david$ m4 -e
define(add2, `eval(+)')
Adding 2+4=add2(2,4)

Adding 2+4=6