Rum*_*mca 6 shell bash buffer shebang
我需要执行我的脚本,stdbuf -i0 -o0 -e0
否则用户会想知道为什么没有输出(因为管道缓冲区)。我怎样才能实现它?
#!/usr/bin/stdbuf -i0 -o0 -e0 /bin/bash
Run Code Online (Sandbox Code Playgroud)
结果是
/usr/bin/stdbuf: invalid mode ‘0 -o0 -e0 /bin/bash’
Run Code Online (Sandbox Code Playgroud)
通常不需要对整个脚本进行缓冲。这仅对某些程序是必需的。
但是如果你想这样做,你可以简单地从它本身调用脚本:
#! /bin/bash
if [ yes != "$STDBUF" ]; then
STDBUF=yes /usr/bin/stdbuf -i0 -o0 -e0 "$0"
exit $?
fi
Run Code Online (Sandbox Code Playgroud)