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.

astuce/redirection_bash.txt · Dernière modification : 2024/01/19 14:53 de Thomas
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0