相关疑难解决方法(0)

关闭管道中的缓冲

我有一个调用两个命令的脚本:

long_running_command | print_progress
Run Code Online (Sandbox Code Playgroud)

long_running_command打印的进展,但我很不满意它。我正在使用print_progress使其更好(即,我在一行中打印进度)。

问题:将管道连接到标准输出也会激活一个 4K 缓冲区,所以漂亮的打印程序什么都没有……什么都没有……什么都没有……很多……:)

如何禁用4K缓冲区long_running_command(不,我没有源)?

shell pipe buffer

475
推荐指数
9
解决办法
26万
查看次数

打开重定向后如何关闭它?

我在使用 exec 重定向所有后续命令的标准错误中找到了一个很好的解决方案。

我用的例子:

exec > >(tee $somelog) 2>&1
Run Code Online (Sandbox Code Playgroud)

...并设法使一切变得更好tee。现在,我如何再次关闭它?

bash io-redirection

5
推荐指数
1
解决办法
917
查看次数

标签 统计

bash ×1

buffer ×1

io-redirection ×1

pipe ×1

shell ×1