Se você estiver executando (t) csh, receberá Ambiguous output redirect.
se tentar configurar dois redirecionamentos conflitantes:
> echo foo > a > b
Ambiguous output redirect.
No Bash, você pode receber um erro semelhante se usar um array com vários elementos no lugar do nome do arquivo:
$ set aa bb
$ echo foo > "$@"
bash: "$@": ambiguous redirect
Como mencionado em respostas ao redirecionamento do stderr não funcionando em csh , o operador >&
trabalha em (t csh para redirecionar stdout e stderr. 2>&1
é a maneira padrão de redirecionar o stderr para o mesmo local que o stdout, mas (t) o csh não suporta isso. Em vez disso, é necessária a combinação > foo 2>&1
como um redirecionamento para foo
, um argumento regular 2
e um redirecionamento para 1
, e os redirecionamentos entram em conflito, para que você receba o erro.
>&
também funciona no Bash e no zsh, mas não é um recurso padrão.