
如何從多個管道傳遞參數?
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"