Thanks! I rewrote the example according to your suggestions. It&#x27;s true that the part with @v, open-command, etc. wanted to be written differently. I realized that there has to be a better way of calling external command - I just couldn&#x27;t find it then. Looking at the docs now, the meaning of ! is mentioned briefly:<p>&gt; The @(next) directive supports the file name conventions as the command line. The name - means standard input. Text which starts with a ! is interpreted as a shell command whose output is read like a file. These interpretations are applied after variable substitution. If the file is specified as @a, but the variable a expands to &quot;!echo foo&quot;, then the output of the &quot;echo foo&quot; command will be processed.<p>So it looks like I just missed it on my first reading.