linux命令不打印错误输出
-
要在Linux命令中不打印错误输出,可以使用以下方法:
1. 重定向错误输出
可以使用重定向符号`>`将错误输出重定向到一个空文件中,从而不在标准输出中显示错误信息。
例如,要禁止`ls`命令的错误输出,可以使用以下命令:
“`
ls > /dev/null
“`2. 使用`2>/dev/null`重定向错误输出
Linux将错误输出定义为文件描述符2,因此,可以使用`2>/dev/null`将其重定向到空设备文件(即`/dev/null`),从而不在终端上显示错误信息。
例如,以下命令将执行`ls`命令,并将错误输出重定向到`/dev/null`:
“`
ls 2>/dev/null
“`3. 使用`>/dev/null 2>&1`将标准输出和错误输出都重定向
如果希望同时将标准输出和错误输出都重定向到空设备文件,可以使用以下命令:
“`
command >/dev/null 2>&1
“`
其中,`command`代表要执行的命令。需要注意的是,在使用上述方法之前,你需要确定是否真的需要屏蔽错误输出。对于一些重要的命令或脚本,错误输出可能包含重要的提示信息,屏蔽错误输出可能会隐藏潜在的问题。
2年前 -
在Linux中,可以使用以下几种方法来让命令不打印错误输出:
1. 重定向错误输出
可以使用重定向符号’>’将错误输出重定向到/dev/null设备文件中。该设备文件会丢弃所有重定向到它的输出。
例如,要运行一个命令并隐藏其错误输出,可以使用以下命令:
“`
command 2>/dev/null
“`
这会将命令的错误输出发送到/dev/null,从而阻止其显示在终端上。2. 使用管道操作符
可以使用管道操作符’|’将命令的错误输出发送到另一个命令中。通过使用此方法,您可以将错误输出过滤或处理并防止其打印在终端上。
例如,要隐藏命令的错误输出,可以使用以下命令:
“`
command 2>&1 >/dev/null | another_command
“`
上述命令将命令的错误输出发送到标准输出,并将输出重定向到/dev/null设备,同时将标准输出通过管道传递给另一个命令。3. 使用’!’操作符
可以使用’!’操作符将命令置于子shell中,并将其标准错误重定向到/dev/null设备。
例如,要隐藏命令的错误输出,可以使用以下命令:
“`
! command >/dev/null
“`
此方法会将命令放在子shell中,并将子shell的标准错误输出重定向到/dev/null。4. 使用’2>&-‘将错误输出关闭
可以使用命令’2>&-‘来关闭标准错误输出。这将使命令不会将任何错误消息打印到终端上。
例如,要关闭命令的错误输出,可以使用以下命令:
“`
command 2>&-
“`5. 使用脚本文件执行命令
如果您希望在大量的命令中隐藏错误输出,可以将这些命令写入一个脚本文件,并将错误输出重定向到/dev/null。
例如,您可以在脚本文件中使用以下代码:
“`
#!/bin/bash
exec 2>/dev/null# 执行命令
command1
command2
command3
“`
这会将脚本文件的错误输出重定向到/dev/null,从而隐藏命令的错误输出。使用上述方法之一,您可以在Linux中让命令不打印错误输出。但需要注意的是,如果隐藏错误输出,可能会导致无法发现潜在的问题和错误。
2年前 -
在Linux中,如果你想执行一个命令,但不想在终端上打印出错误输出,也可以通过一些方法实现。
1. 重定向错误输出到空设备:
你可以使用`>/dev/null`将错误输出重定向到空设备,空设备在Linux中代表着一个黑洞,不会打印任何信息。例如:
“`
command >/dev/null 2>&1
“`这个命令是将标准输出和错误输出都重定向到空设备。这样,执行命令时,不会在终端上打印任何输出。
2. 重定向错误输出到文件:
如果你想将错误输出保存到一个文件中以供后续查看,可以使用`>`或`>>`将错误输出重定向到一个文件。例如:
“`
command 2>error.log
“`这个命令将错误输出重定向到名为`error.log`的文件中。如果该文件已存在,新的错误输出将会追加到文件的末尾;如果文件不存在,将会创建一个新文件来保存错误输出。
3. 使用`grep`过滤错误输出:
有时,你可能只想打印特定的错误信息,可以使用`grep`命令来过滤输出。例如:
“`
command 2>&1 | grep “error”
“`这个命令将错误输出重定向到标准输出,并通过`grep`命令来筛选包含”error”的行并打印出来。
4. 使用`script`命令记录终端会话:
你还可以使用`script`命令来记录终端上的所有输出,包括标准输出和错误输出。例如:
“`
script -c “command” output.log
“`这个命令将执行`command`命令,并将所有的输出保存到名为`output.log`的文件中。你可以通过查看该文件来获取完整的终端会话记录。
通过上述方法,你可以在不打印错误输出的情况下执行Linux命令。选择适合你需求的方法,以满足你的实际需要。
2年前