複数のパイプから引数を渡すにはどうすればいいですか?
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 回に減らしたいと思います。
答え1
必要なのはパイプではなくコマンド置換のようです:
outputOfcommand1=$(command1)
outputOfcommand2=$(command2 "$outputOfcommand1")
command3 "$outputOfcommand1" "$outputOfcommand2"