我有一个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