Lección 20: Condicionales de bash
El script de la lección anterior crea un respaldo — pero no informa si tuvo éxito. Le agregaremos una condición if. [ -f archivo ] verifica que exista un archivo; [ -d directorio ] verifica que exista un directorio; [ $? -eq 0 ] verifica un código de salida. [ es un comando real — se requieren espac
if es simplemente 'si': [ -f ] pregunta '¿existe el archivo?', then significa 'entonces', y fi cierra el bloque — es solo if escrito al revés. Solo recuerda: [ ] es un comando por sí mismo, así que necesita espacios a su alrededor como cualquier comando.
- if de bash
- if [ condición ]; then ... fi. [ ] devuelve el código de salida 0 (verdadero) o 1 (falso). then abre el cuerpo del bloque. fi (=if al revés) lo cierra. else en una línea separada es válido para un bloque alternativo.
- operadores de test
- -f: existe un archivo normal. -d: existe un directorio. -e: existe la ruta (cualquier tipo). -eq: igual (números). -ne: no igual. -z: cadena vacía. -n: cadena no vacía.