You are on page 1of 2

Bash - Redirecció de la informació

És comú registrar les operacions que realitza un determinat script en un

fitxer de log. D'aquesta forma, podem executar el nostre programa en

segon pla i comprovar posteriorment quines operacions s'han realitzat, o si

hi ha hagut algun error i cal repetir el procés.

Redirecció sortida estàndard


Per a redireccionar la informació que es visualitzaria per pantalla a un

fitxer en bash script utilitzarem el símbol > o >> seguit del nom del

fitxer.

El símbol > elimina el contingut previ del fitxer i, per tant, aquest només

contindrà la informació afegida des del moment de l'última instrucció

executada amb l'operador >.

El símbol >> afegeix la informació al contingut del fitxer. Per tant, el

fitxer contindrà tota la informació anterior més la nova informació.

Els dos operadors crearan el fitxer en el cas que aquest no existeixi.

#!/bin/bash
# File: script1.sh
echo "Running script1.sh">/var/log/script1.sh # if /var/log/script1.sh exists,
it will be removed.
# First instruction
echo "Instruction 1 executed"
# More instructions ...
# ....
echo "Finished script1.sh">>/var/log/script1.sh # append info to
/var/log/script1.sh .

Redirecció sortida errors


En un script algunes instruccions poden generar un error per a diversos

motius: falta de connexió, error de hardware d'un dispositiu, fitxer

inexistent, falta de permisos,...

Per tal de tenir un control dels errors podem redirigir la sortida per

defecte (pantalla) dels errors a un determinat fitxer. Per fer-ho ,

utilitzarem la combinació 2> o 2>> segons si volem eliminar o afegir al

contingut del fitxer.


#!/bin/bash
# File: script1.sh
mkdir /home/user 2>> /var/log/script1.log

El programa anterior s'executarà de forma correcte si el directori

/home/user no existeix. En el cas que el directori ja existeixi,

s'emmagatzemarà l'error pertinent en el fitxer: /var/log/script1.log

You might also like