GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich überprüfen, ob eine Datei vorhanden ist, und einen Befehl ausführen, wenn dies nicht der Fall ist?

Wenn es sich um Bash-Skripting handelt, über das Sie sich wundern, würde so etwas funktionieren:

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

Eine bessere Option könnte sein, in die Sperrdatei zu schauen


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

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

-f prüft, ob der angegebene Pfad existiert und eine normale Datei ist (nur -e prüft, ob der Pfad existiert)

die [] führt den Test durch und gibt 0 zurück bei Erfolg 1 andernfalls

die || ist ein C-ähnlicher or , wenn also der Befehl auf der linken Seite fehlschlägt, führen Sie den Befehl auf der rechten Seite aus.

Die abschließende Anweisung lautet also, wenn /tmp/filename.pid existiert NICHT, dann starten Sie den Daemon.


Linux
  1. So ändern Sie Berechtigungen und Eigentümer über die Befehlszeile

  2. Wie führe ich einen Befehl aus, wenn sich eine Datei ändert?

  3. Wie kann ich 'diff -X' dazu bringen, bestimmte Pfade und keine Dateinamen zu ignorieren?

  4. Wie kann ich mit sudo prüfen, ob eine Datei existiert?

  5. Warum funktioniert mein Crontab nicht und wie kann ich es beheben?

So überprüfen Sie, ob eine Datei oder ein Verzeichnis in Bash vorhanden ist

So verschieben Sie Dateien und Verzeichnisse in Linux (mv-Befehl)

So führen Sie Linux-Startskripts und -Befehle automatisch aus

So überprüfen und reparieren Sie ein Dateisystem in RHEL Linux

So überprüfen Sie, ob eine Datei oder ein Verzeichnis in der Bash-Shell vorhanden ist

Wie überprüfe ich die Inode-Nutzung über cPanel und die Befehlszeile?