0
命令以某種方式保存/可能在管道中被引用? 例如:Bash:引用'||'的第一部分或管道命令
cd /tmp/non_existing_dir || echo "could not execute $PREVIOUS_PIPE_CMD
而不保存前的原始命令。 $PREVIOUS_PIPE_CMD
是一個示例變量。
命令以某種方式保存/可能在管道中被引用? 例如:Bash:引用'||'的第一部分或管道命令
cd /tmp/non_existing_dir || echo "could not execute $PREVIOUS_PIPE_CMD
而不保存前的原始命令。 $PREVIOUS_PIPE_CMD
是一個示例變量。
編號管道通過黑盒和中繼IO流和狀態工作。沒有辦法讓輸入的命令知道下游歷史記錄,而不會中繼/保存並傳遞它。
另外:您的示例不使用管道,它使用||
,這是OR
,而不是管道。
cd /tmp/non_existing_dir || echo "could not execute $PREVIOUS_PIPE_CMD"
相同
if [[ $(cd foo) ]]; then
:
else
echo "could not execute $PREVIOUS_PIPE_CMD
fi
鑑於您的例子中,你會想:
tmpdir="/tmp/non_existing_dir"
cd ${tmpdir} 2>/dev/null || echo "could not cd into '${tmpdir}'"
這個問題在這個正確答案後被編輯。 – Zloj
可能重複的:http://stackoverflow.com/questions/1221833/bash-pipe -output-and-capture-exit-status – user2182349
但是,它不是管道。它是'||'控制操作符。是錯字嗎? – sat
@sat謝謝,我不知道我爲什麼說這是一個管道。將編輯。 – Zloj