entrada de vários tubos

entrada de vários tubos

Como passar argumentos de vários pipes?

command1 | command2 outputOfcommand1 | command3 outputOfcommand1  outputOfcommand2

O que estou tentando fazer mais especificamente é listar algum diretório dentro do contêiner, obter o último arquivo criado e puxar para a máquina host. Agora eu uso

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/{} .

. O caminho apareceu aqui 2 vezes e quero diminuí-lo para uma aparição.

Responder1

Parece que o que você precisa é de substituição de comando, não de pipes:

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

informação relacionada