シェルスクリプトで使用する想定なマクロエンジンm4は、必然としてシェルコマンドの内部実行も可能。
実際のところ
目的であるテンプレートエンジン的な使いかた
引数にファイル名をとり、独自コマンドをパイプで渡して、それをcatでキャッチして実行というながれ
$ function HELLOWORLD () { echo -n 1234; } $ cat basetext.txt Hello, World
$ HELLOWORLD | m4 -D Hello="syscmd(cat)" basetext.txt 1234, World
少し複雑なコマンドも実行できる
syscmd(`date --iso-8601|sed s/-/./g') 2022.07.07