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"