GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo comprobar que existe un archivo y ejecutar un comando si no es así?

Si se trata de secuencias de comandos de bash, algo como esto funcionaría:

if [ ! -f "$FILENAME" ]; then
   python daemon.py restart
fi

Una mejor opción puede ser buscar en el archivo de bloqueo


test -f filename && daemon.py restart || echo "File doesn't exists"

[ -f /tmp/filename.pid ] || python daemon.py restart

-f comprueba si la ruta dada existe y es un archivo normal (solo -e comprueba si existe la ruta)

el [] realiza la prueba y devuelve 0 en caso de éxito, 1 de lo contrario

el || es un tipo C or , así que si falla el comando de la izquierda, ejecute el comando de la derecha.

Así que la declaración final dice, si /tmp/filename.pid NO existe, inicie el demonio.


Linux
  1. archivo:comando no encontrado

  2. Cómo verificar si existe un comando de shell desde PHP

  3. ¿Cómo puedo comprobar si existe un directorio?

  4. Cómo verificar el sistema operativo y la versión usando un comando de Linux

  5. ¿Por qué mi crontab no funciona y cómo puedo solucionarlo?

Cómo verificar si existe un archivo o directorio en Bash

Cómo mover archivos y directorios en Linux (comando mv)

Cómo ejecutar automáticamente secuencias de comandos y comandos de inicio de Linux

Cómo comprobar y reparar un sistema de archivos en RHEL Linux

Cómo verificar si existe un archivo o directorio en Bash Shell

¿Cómo verificar el uso de Inode desde cPanel y la línea de comandos?