centos 中的 fuser 命令在 bash 脚本中打印不需要的输出
fuser command in centos print an unwanted output in bash script
我正在使用 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 语句 returns 为 false,因为出于某种原因 fuser 的结果为空。
如何避免不必要的打印?
为什么当我 运行 在静默模式下热凝时它 returns 是空的?
在fuser
手册页中你可以看到
fuser outputs only the PIDs to stdout, everything else is sent to stderr.
那是你需要去掉 stderr
输出。
some_pid=$( fuser X/tcp 2> /dev/null )
我正在使用 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 语句 returns 为 false,因为出于某种原因 fuser 的结果为空。
如何避免不必要的打印? 为什么当我 运行 在静默模式下热凝时它 returns 是空的?
在fuser
手册页中你可以看到
fuser outputs only the PIDs to stdout, everything else is sent to stderr.
那是你需要去掉 stderr
输出。
some_pid=$( fuser X/tcp 2> /dev/null )