скрипт, который проверяет, существует ли file.html и, если да, запустить другой скрипт, иначе умрет? - PullRequest
3 голосов
/ 04 октября 2011

Итак, у меня есть задание cron, которое иногда создает html-файл для определенного каталога. Он запускает этот процесс один раз в час. Я после сценария, который я могу запустить после этого, чтобы проверить наличие этого файла и, если он существует, отправляет его по электронной почте на адрес (а именно на мой телефон) для целей мониторинга. Есть идеи? Спасибо!

Ответы [ 2 ]

4 голосов
/ 04 октября 2011

Одним из многих способов будет использование test.

#!/bin/bash
test -f filename && script/command_to_be_executed

эквивалент: [] => test

#!/bin/bash
[ -f filename ] && script/command_to_be_executed

В приведенной выше строке подразумевается, что если test завершится успешно, выполните операцию, указанную после &&, а не иначе. В этом случае -f подразумевает проверку на существование файла, если файл с именем filename завершает выполнение указанной операции после &&
Замените filename абсолютным путем к файлу (file.html), который вы хотите проверить, после чего введите команду или сценарий, который вы хотите запустить после &&
Надеюсь, это поможет!

2 голосов
/ 04 октября 2011

Вот сценарий bash, который может заставить вас двигаться в правильном направлении:

#!/bin/bash
FileYouWantToTest='/directory/filename.ext'
echo -n "Verifying if $FileYouWantToTest exist..."
if [ -f $FileYouWantToTest ]
    then
        echo  "OK"
    else
        echo  "FAIL"
fi
exit 0

скопируйте код, сохраните его в папке с окончанием .sh и убедитесь, что он исполняемый... затем запустить в оболочке .. Advanced Bash Scripting

...