我有一個bash腳本,我試圖用無緩衝輸出。我有這樣的事情:無緩衝Bash輸出
...
mkfifo $PIPE
for SERVER in ${SERVERS[@]}; do
ssh $SERVER command >$PIPE &
done
while read LINE; do
echo ${LINE}
done <$PIPE
問題是腳本的所有輸出都被緩衝了。
我知道我可以在整個腳本中使用類似stdbuf
或unbuffer
的東西,但我不希望我的用戶每次都必須運行stdbuf -o0 -e0 my_command
。
有沒有在我的腳本中實現這種效果的方法?
感謝, 馬克
那麼,你當然總是可以讓你的腳本在適當的環境中執行自己,從而讓你的用戶隱藏這些細節。不過,可能有更好的解決方案。 – 5gon12eder 2014-12-02 20:00:40
這裏有一個愚蠢的問題:這裏「無緩衝」是什麼意思?像字符刷新stderr? – HuStmpHrrr 2017-10-31 18:08:05