Existe alguma maneira de redirecionar stdout e stderr via variável como adicionar opções de comando no script?
Por exemplo, eu tenho um script:
#!/bin/bash -x
TEST=">/dev/null 2>&1"
OPT='-p -v'
mkdir $OPT 123/123/123 $TEST
Eu posso ver que o OPT é substituído por -p
sem problemas e o bash o interpreta como opção. Mas o redirecionamento interpreta como o nome dos diretórios.
$ ./test.sh
+ TEST='>/dev/null 2>&1'
+ OPT='-p -v'
+ mkdir -p -v 123/123/123 '>/dev/null' '2>&1'
mkdir: created directory `123/123'
mkdir: created directory `123/123/123'
mkdir: created directory `>/dev'
mkdir: created directory `>/dev/null'
mkdir: created directory `2>&1'
Existe alguma maneira de dizer bash, que $ VAR é redirecionamento, não um nome de diretório.
PS. Pode ser que eu esteja no caminho errado, mas quero fazer uma saída opcional ou detalhada do meu script. Mas eu preciso de alguma saída, mesmo no modo não detalhado, portanto, não posso apenas redirecionar todo o stdout e o stderr, apenas a partir de alguns comandos dentro do meu script.