来自多个管道的输入

来自多个管道的输入

如何从多个管道传递参数?

command1 | command2 outputOfcommand1 | command3 outputOfcommand1  outputOfcommand2

我想要更具体地做的是列出容器内的一些目录,获取最后创建的文件并拉到主机。现在我用

sudo ls -t /var/snap/lxd/common/lxd/containers/con1/rootfs/home/usr1/Downloads | head -n 1 | xargs -I{} sudo mv /var/snap/lxd/common/lxd/containers/con1/rootfs/home/usr1/Downloads/{} .

。该路径在这里出现了 2 次,我想将其减少到一次。

答案1

看起来您需要的是命令替换,而不是管道:

outputOfcommand1=$(command1)
outputOfcommand2=$(command2 "$outputOfcommand1")
command3 "$outputOfcommand1"  "$outputOfcommand2"

相关内容