zsh:始终缓冲最后一个命令的输出

zsh:始终缓冲最后一个命令的输出

有什么方法可以缓冲或将最后一个命令的输出保存到变量中?例如:

% long_running_command
<long output>
<long output>
<long output>
<long output>
<long output>
<long output>

% <oops! I realize I wanted to do a wc -l>
% long_running_command | wc -l
(wait a lot of time)

我想要类似的东西:

% long_running_command
<long output>
<long output>
<long output>
<long output>
<long output>
<long output>

% <oops! I realized I need the output, so I do the following>
% echo "$LASTOUTPUT" | wc -l
1586

有这样的事吗?

答案1

为什么不将这个长命令的输出重定向到一个文件,然后使用wc -l

long_running_command > output.txt

wc -l output.txt

或者也许将此命令的输出存储到变量中,然后echo将其存储到wcLASTOUTPUT="$(long_running_command)"

wc -l <<< $LASTOUTPUT

相关内容