运行 mplayer 命令在后台用 1 替换 &1

Run mplayer command in background replace &1 with 1

在后台 运行 mplayer 的正式方式。

mplayer some.mkv </dev/null >/dev/null 2>&1 &
[3]9536

[3]9536表示mplayer命令的pid为9536。
如果我将上述命令的 &1 替换为 1:

mplayer some.mkv </dev/null >/dev/null 2>1 &
[4] 9590
[3]   Done                    mplayer some.mkv < /dev/null > /dev/null 2> 1

为什么这里有额外的输出?

[3]   Done                    mplayer some.mkv < /dev/null > /dev/null 2> 1

这与您的更改无关。发生这种情况是因为您之前的 mplayer 实例同时退出。这是另一个例子:

$ sleep 1 &
[1] 18155                                   # Sleep #1 started in background
$ sleep 1 &
[2] 18163                                   # Sleep #2 started in background
[1]   Done                    sleep 1       # Sleep #1 finished because it's been a second

2>&1 替换为 2>1 会使 mplayer 状态和错误转到当前目录中名为 1 的文件。我不知道你为什么要这样做,但是 bash 很乐意帮忙。