我有一个 bash 脚本,我试图用它来编写无缓冲的输出。我有这样的事情:
...
mkfifo $PIPE
for SERVER in ${SERVERS[@]}; do
ssh $SERVER command >$PIPE &
done
while read LINE; do
echo ${LINE}
done <$PIPE
问题是脚本的所有输出都被缓冲。
我知道我可以使用类似的东西stdbuf
or unbuffer
整个脚本,但我不希望我的用户必须运行stdbuf -o0 -e0 my_command
每次。
有没有办法在我的脚本中达到这种效果?
谢谢,
马克
为什么不创建一个别名来运行stdbuf
,这又会取消缓冲脚本输出?
我知道您不希望用户手动输入命令stdbuf
。为什么不让用户创建一个将执行的别名stdbuf
运行脚本?
alias my_script='stdbuf -o0 -e0 <path_to_script>'
现在用户可以从终端运行脚本(终端也可以帮助填写脚本名称),如下所示:
my_script
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)