在本地写入 SSH 命令执行的输出时,是否可以抑制主机名和 [sudo] 行?
例如,当我通过 SSH 连接到服务器并运行时,sudo <command>
它会显示
<hostname>
[sudo] password for user:
这被写入我正在将输出写入的文件。我正在使用sudo <command> 2>&1 /dev/null
,但它并没有消除这些线条。
答案1
sudo <command> 2>&1 /dev/null
不会将任何内容重定向到/dev/null
.相反,你是:
- 使用 2 个参数进行调用
sudo
:<command>
和/dev/null
。第二个将<command>
在执行时传递给它。 - 将错误消息重定向到标准输出。
这是一个简单的尝试:
$ sudo ls 2>&1 /dev/null
/dev/null
请参阅:您得到 的结果ls /dev/null
。但是,你可以做类似的事情...
$ sudo ls >ls_output.txt 2>/dev/null
这将:
sudo
使用 1 个参数进行调用:ls
.- 将标准输出重定向到
ls_output.txt
. - 将标准错误重定向到
/dev/null
.
使用上面的命令,将列出当前工作目录的内容,并且其中ls_output.txt
不会有任何数据。stderr