Esiste un modo per reindirizzare stdout e stderr tramite una variabile come l'aggiunta di opzioni di comando nello script?
Ad esempio ho uno script:
#!/bin/bash -x
TEST=">/dev/null 2>&1"
OPT='-p -v'
mkdir $OPT 123/123/123 $TEST
Vedo che OPT viene sostituito -p
senza problemi e Bash lo interpreta come opzione. Ma il reindirizzamento interpreta il nome delle directory.
$ ./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'
C'è un modo per dire bash, che $ VAR è il reindirizzamento, non i nomi di una directory.
PS. Forse sto sbagliando, ma voglio fare un output dettagliato o non dettagliato dal mio script. Ma ho bisogno di un output anche in modalità non dettagliata, quindi non posso semplicemente reindirizzare l'intero stdout e stderr, solo da alcuni comandi all'interno del mio script.