Faire des redirections bash
stdin = entrée
stdout = sortie normale &1
stderr = erreur &2
ls -d / /non-exist 1> stdout.log 2> stderr.log
Redirige stdoud vers le fichier stdout.log et les erreurs vers stderr.log.
ls -d / /non-exist 2>&1
Redirige les erreurs vers la stdout au lieu de stderr.
ls -d / /non-exist 1>&2
Redirige stdout vers les erreurs stderr.
result=$($i 2>&1)
Enregistre stdout et stderr dans la variable $result. Il n'est pas possible de stocker directement stderr dans une variable d'où la redirection vers stdout.
{ err=$(/root/.cron/test/test1.sh 2>&1 1>&3); } 3>&1
Enregistre uniquement stderr dans la variable $err et affiche stdout sur la console. Il est nécessaire de rediriger stdout vers &3 pour ne conserver que les errreurs dans &1. Puis à la fin on redirige &3 vers &1.