【问题标题】:fuser command in centos print an unwanted output in bash scriptcentos 中的 fuser 命令在 bash 脚本中打印不需要的输出
【发布时间】:2018-05-09 10:31:29
【问题描述】:

我正在使用 centOS 7,我正在尝试通过 bash 脚本检查使用端口 X/tcp 和“fuser”命令的进程的 pid,如下所示:

  some_pid=$(fuser X/tcp) > /dev/null
  another_pid=$(fuser Y/tcp) > /dev/null
  ...
  if [[ -z "$some_pid" ]]; then ...

虽然我不想在控制台打印任何东西,但结果是:

X/tcp:
Y/tcp:
...

当我尝试使用 -s 运行 fuser 时,if 语句返回 false,因为由于某种原因,fuser 的结果为空。

如何避免不必要的打印? 为什么当我在静默模式下运行 fuser 时它返回空?

【问题讨论】:

    标签: bash centos7 pid fuser


    【解决方案1】:

    您可以在 fuser 手册页中看到

    fuser 仅将 PID 输出到 stdout,其他所有内容都发送到 stderr。

    也就是说,您需要摆脱 stderr 输出。

    some_pid=$( fuser X/tcp 2> /dev/null )
    

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 2018-01-16
      • 1970-01-01
      相关资源
      最近更新 更多