📌  相关文章
📜  将输出和错误重定向到 unix 中的日志文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:09:39.388000             🧑  作者: Mango

将输出和错误重定向到 unix 中的日志文件 - Shell-Bash

在Shell脚本编程中,将输出和错误重定向到Unix中的日志文件是非常有用的技巧。可以将输出和错误信息记录到文件中,以备之后查看和分析。

输出重定向

要将输出重定向到日志文件中,可以使用大于号字符(>)以及目标日志文件名。例如,下面的命令将输出信息写入到mylog.log文件中:

$ ls > mylog.log

这将列出当前目录中的文件,并将结果写入到mylog.log文件中,如果该文件不存在,则会创建一个新的文件。如果mylog.log文件已经存在,则只是覆盖它。

如果要将输出信息添加到一个已有的日志文件中,可以使用双大于号字符(>>),例如:

$ ls >> mylog.log

这会将输出信息追加到mylog.log文件中。

错误重定向

要将错误信息重定向到日志文件中,可以使用2大于号字符(2>)以及目标日志文件名。例如:

$ command_not_exist 2> error.log

这会将执行command_not_exist命令的错误信息写入到error.log文件中。如果该文件不存在,则会创建一个新的文件。如果error.log文件已经存在,则只是覆盖它。

如果要将错误信息追加到一个已有的日志文件中,可以使用2双大于号字符(2>>),例如:

$ command_not_exist 2>> error.log

这会将执行command_not_exist命令的错误信息追加到error.log文件中。

标准输出和错误信息同时重定向

如果要将标准输出和错误信息同时重定向到日志文件中,可以使用&符号,例如:

$ mycommand > mylog.log 2>&1

这会将mycommand命令的标准输出和错误信息都写入到mylog.log日志文件中。如果该文件不存在,则会创建一个新的文件。如果mylog.log文件已经存在,则只是覆盖它。

如果要将标准输出和错误信息追加到一个已有的日志文件中,可以使用&符号和双大于号字符,例如:

$ mycommand >> mylog.log 2>&1

这会将mycommand命令的标准输出和错误信息都追加到mylog.log日志文件中。

以上就是在Shell脚本编程中将输出和错误重定向到Unix中的日志文件的基本方法。它们可以帮助程序员更轻松地进行日志管理和故障排除。