【问题标题】:How to silence output of the parted command?如何使 parted 命令的输出静音?
【发布时间】:2014-06-24 08:12:32
【问题描述】:

我正在创建一些 bash 脚本,在某些用例中我需要使 parted 命令静音。 this question 的回答无济于事。

这是我正在使用的一段代码:

parted -s $1 mklabel gpt &> /dev/null

无论输出重定向如何,这都是输出:

[root@localhost tmp]# parted -s /dev/sda mklabel gpt &> /dev/null
 sda:
[root@localhost tmp]#

有什么方法,甚至是一个棘手的方法,可以让这个命令静音吗?

【问题讨论】:

  • “这个问题”后面的链接失效了
  • 已更正。只是“重复”问题的链接:)
  • @Pierre 我不知道parted 是如何工作的。由于您已经重定向了 stdout 和 stderr,我认为可能发生这种情况的唯一方法是当输出(或错误)来自不属于 parted 本身的外壳时。你可以试试:{ parted -s $1 mklabel gpt &> /dev/null ; } &>/dev/null 如果是这样的话。
  • @BlueMoon 感谢您的建议。不幸的是,结果是一样的。
  • @Pierre 其他原因可能是你的 shell 不支持&>。所以你明确地重定向它们:parted -s $1 mklabel gpt 2>&1 > /dev/null{ parted -s $1 mklabel gpt 2>&1 > /dev/null ; } 2>&1 >/dev/null

标签: bash shell


【解决方案1】:

将 stdout 和 stderr 显式重定向到 /dev/null。

parted -s $1 mklabel gpt 1>>/dev/null 2>>/dev/null

【讨论】:

  • @Pierre 发生了什么事?
猜你喜欢
  • 2021-05-09
  • 2013-01-17
  • 2018-10-26
  • 2018-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-02
  • 1970-01-01
相关资源
最近更新 更多