我需要运行两个命令。第一个创建一个文件,用作第二个的输入参数。我可以这样跑:
$ 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/