假设我们有一个命令,
eval-some-language —-path=<filename>
我们想做这样的事情:
eval-some-language —-path=“say hello world!
exit 3”
我认为以下解决方案可能适用于一个文件,如果 stdin 不用于其他目的:
eval-some-language —-path=“/dev/stdin” <<<“say hello ...”
这适用于所有命令吗?它的便携性如何?(苹果系统?)
还有其他方法可以做到这一点吗?
更新:如果文件需要可执行,我的解决方案、已接受的答案和 zsh 的 =() 都不起作用。:(
尝试这个:
<() 将生成一个文件描述符,绑定到命令的输出并将其作为 /dev/fd/xxx 传递。例如:
有关更多信息,请参阅“过程替代”部分
man bash