Lección 19: Scripts de shell
El comando tar de la lección anterior funciona — pero cuando se ejecuta en cron no puedes saber si tuvo éxito. Lo envolvemos en un script de bash: #!/bin/bash en la primera línea indica qué intérprete usar. DEST=/backups define una variable; $DEST la usa. chmod +x backup.sh agrega el permiso de ejec
Un script es como una receta escrita: #!/bin/bash dice 'cocina esto con bash', y chmod +x da permiso para cocinar. DEST=/backups guarda una dirección en una nota, y $DEST lee esa nota. $? es la prueba de sabor al final — 0 significa que salió bien.
- shebang (#!/bin/bash)
- La primera línea de un script — indica qué intérprete lo ejecuta. #! lo marca, /bin/bash es la ruta a bash. Sin un shebang, el sistema operativo adivina el intérprete.
- variable de bash
- NAME=valor la define (sin espacios). $NAME lee el valor. "$NAME" entre comillas dobles protege contra la división en palabras si el valor contiene espacios.
- código de salida ($?)
- Un código que devuelve cada comando: 0 = éxito, cualquier otra cosa = fallo. $? contiene el código del último comando. Debe leerse de inmediato antes de que otro comando lo sobrescriba.
- chmod +x
- Agrega el permiso de ejecución a un script. Sin él, ./script.sh devuelve 'Permission denied'. chmod +x script.sh habilita ./script.sh; bash script.sh también funciona sin chmod +x.