bash - 如何避免需要创建一个临时文件来从 bash shell 运行两个命令?

标签 bash unix command-line

我需要运行两个命令。第一个创建一个文件,用作第二个的输入参数。我可以这样跑:

$ cmd1 p1 p2 > tmp.txt
$ cmd2 -i tmp.txt p3 

cmd2 上的-i 参数采用文件名。有没有一种方法可以在不创建 tmp.txt 文件的情况下在一行中执行此操作?

最佳答案

尝试“进程替换”(Bash 手册就是这样调用它的)

cmd2 -i <(cmd1 p1 p2) p3

反之亦然:

cmd2 -o >(cmd1 p1 p2) p3

关于bash - 如何避免需要创建一个临时文件来从 bash shell 运行两个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8157168/

相关文章:

MySQL 在 ssh 内、bash 内查询,带参数

ruby-on-rails - 如何编写 bash 脚本以在 Rails 控制台中运行命令

batch-file - 在批处理脚本中发送 Windows key

linux - 查看进程/文件是否正在运行 linux

windows - 学习控制台命令的重要性

bash - 在 bash 中为每个 "wildcard"参数添加一些文本

bash - 一个shell脚本如何控制另一个脚本

linux - cut 或 awk 命令打印第一行的第一个字段

linux - sed在bash中使用变量取消注释多行

linux - shell 脚本 : How to read standard output of a program from console