Bash:如何将输入文件内容作为命令参数传递

时间:2015-07-04 14:15:03

标签: bash

我有一个命令command,它将输入文件作为参数。有没有办法在不实际创建文件的情况下调用command

我想实现以下行为

$ echo "content" > tempfile
$ command tempfile
$ rm tempfile

如果可能的话:

  • 作为单行,
  • 没有创建文件,
  • 使用bash(或sh)功能或“众所周知”命令(标准为xargs

感觉必须有一种简单的方法,但我找不到它。

1 个答案:

答案 0 :(得分:4)

只需使用process substitution

command <(echo "content")

Bash将在/ dev中创建一个FIFO或其他类型的临时文件,用于进程中发生的任何标准输出。例如:

$ echo <(echo hi)
/dev/fd/63