从 Mac 终端将输出保存到文本文件

JSh*_*hoe 23 mac terminal bash

我怎么能输入一个命令,比如 system_profiler,并将输出保存在我的计算机上的某个地方?

Wuf*_*ers 45

只需使用输出重定向

system_profiler > file.txt
Run Code Online (Sandbox Code Playgroud)

基本上,这将获取输出system_profiler并将其保存到文件中file.txt。技术上有两种不同的输出“流”,标准输出和标准错误。它们是分开处理的,如果使用上面的简单重定向方法,则只会将标准输出重定向到文件。如果你想重定向两个标准输出和标准错误,你可以这样做:

system_profiler &> file.txt
Run Code Online (Sandbox Code Playgroud)

&告诉shell重定向标准输出和标准错误的文件。

如果你只想输出标准错误,你可以这样做:

system_profiler 2> file.txt
Run Code Online (Sandbox Code Playgroud)

2让 shell 知道它只需要重定向标准错误。

>如果文件已经存在,则使用将覆盖该文件。如果您想将其附加到文件而不删除旧文件,可以使用>>,如下所示:

system_profiler >> file.txt
Run Code Online (Sandbox Code Playgroud)

您当然可以使用&and2来发送标准输出和标准错误,并且只发送>>操作员的标准错误。

  • &>> 似乎在 Mac Bash 版本 3.2.48(1)-release (x86_64-apple-darwin11) 中不起作用。当我尝试它时,它说`-bash:意外标记附近的语法错误>`。其他一切都有效。 (2认同)