考虑以下Bash命令行:
time ls # Sends directory contents to stdout
time ls --foo # Sends an error message to stderr (--foo is an invalid option)
将time的输出(正常输出和错误输出)重定向到一个文件,将ls的输出重定向到另一个文件:
time ( ls &>ls.txt ) &>time.txt
time ( ls --foo &>ls.txt ) &>time.txt
将time
在批处理文件中,我使用以下方法获取命令的输出:
for /f %%i in ('command') do set output=%%i
command应该输出一行文本,在这种情况下,我将在%output%中获得预期的输出。
但是,command有时输出几行文本,这表示错误。在这种情况下,我在%output%中得到了最后一个输出,并且我不知道command是否输出了超过一行的输出。
如何检查command何时输出多行文本?
注意:当有几行时,我不需要知道输出是什么;我只需要知道输出超过一行。