Comment stocker une erreur standard à une variable dans Bash
- 3004
- 233
- Romain Martinez
Dans Bash, vous pouvez stocker la sortie d'erreur standard d'une commande à une variable en utilisant le '2> & 1'
opérateur et le '$ ()'
Syntaxe de substitution de commande. Ici '2>'
redirige le message d'erreur vers &1'
, qui représentent la sortie standard. Dans le cas de Bash Shell fonctionne comme le dispositif de sortie standard.
- Par exemple, pour stocker la sortie d'erreur standard du
'LS'
Commande à une variable nommée Erreurs, vous pouvez utiliser la commande suivante:
Stocker une erreur standard dans une variable basherreurs = $ (ls non existant-fichier 2> & 1)
Alternativement, vous pouvez utiliser le
'$?'
Paramètre spécial pour stocker l'état de sortie d'une commande à une variable. Le statut de sortie est une valeur numérique qui indique si la commande a réussi ou non. Une valeur de'0'
indique le succès, tandis qu'une valeur non nulle indique une erreur. - Par exemple, pour stocker le statut de sortie du
'LS'
Commande à une variable nommée Status, vous pouvez utiliser la commande suivante:ls inexistant
statut = $?
- Vous pouvez ensuite utiliser le
'$ statut'
variable pour vérifier l'état de sortie du'LS'
commander et prendre les mesures appropriées en fonction du résultat. Par exemple: #!/ usr / bin / env bash # pur vos commandes ici si [$ status -ne 0]; Puis écho "La dernière commande a échoué avec une erreur." Fi123456 #!/ usr / bin / env bash # pur vos commandes iciif [$ status -ne 0]; Puis écho "La dernière commande a échoué avec une erreur."Fi
Gardez à l'esprit que le '$ ()'
La syntaxe de substitution de commande vous permet d'exécuter une commande et de remplacer sa sortie en place. Le '2>'
L'opérateur redirige la sortie d'erreur standard de la commande vers le '&1'
Stream, qui est le flux de sortie standard. Cela vous permet de capturer à la fois la sortie standard et la sortie d'erreur standard de la commande dans une seule variable.