Ubuntu BASH inotifywait для запуска другого скрипта
Я пытаюсь использовать inotifywait в скрипте bash, чтобы отслеживать каталог для файла с определенным тегом в нем (*SDS.csv).
Я также хочу выполнить только один раз (один раз, когда файл записывается в каталог данных).
пример:
#! /bin/bash
inotifywait -m -e /home/adam/data | while read LINE
do
if [[ $LINE == *SDS.csv ]]; then
./another_script.sh
fi
done
1 ответ
Хотя это не может быть идеальным решением, оно может сделать свое дело:
#! /bin/bash
while true
do
FNAME="$(inotifywait -e close_write /home/adam/data | awk '{ print $NF }')"
if [ -f "/home/adam/data/$FNAME" ]
then
if grep -q 'SDS.csv' "/home/adam/data/$FNAME"
then
./another_script.sh
fi
done
done