无法在 FreeBsd 中重定向 IO 输出

Ko3*_*2mo 1 shell freebsd bash

我有这个:

$ echo $SHELL
/bin/sh

$ uname -a
FreeBSD  11.0-RELEASE-p8
Run Code Online (Sandbox Code Playgroud)

这有效:

sudo bash my_script.sh some_arg
Run Code Online (Sandbox Code Playgroud)

但这不是:

sudo bash my_script.sh some_arg >& /dev/null
Run Code Online (Sandbox Code Playgroud)

错误:

-sh: Syntax error: Bad fd number
Run Code Online (Sandbox Code Playgroud)

在使用默认 bash 作为 shell 的 Linux 中,这可以正常工作。

如何解决?

在脚本中我有这个:

#!/usr/local/bin/bash

# other stuff
Run Code Online (Sandbox Code Playgroud)

Dop*_*oti 5

bash确实支持这一点,但您明确声明您当前的 shell 不是bash,而是sh,这是一个不同的 shell。