Форум — Development Как отследить появление файлов в каталоге на BASH не вызывая в цикле ls? 0 0 subj В идеале - запустить скрипт: script.sh <dir> И при появлении каких-либо файлов в <dir> скрипт завершает работу. Ссылка
Ответ на: комментарий от Zulu 15.12.05 18:11:22 MSK смотреть на fam? Посмотрел. Спасибо. Похоже, что для честной работы ему нужно специально собранное ядро... Мне говорили, что есть какой-то способ очень просто это сделать на BASH, но не вспомнили какой :) За fam спасибо, пригодится, но, похоже, не в этой задаче. klon ★ (15.12.05 19:11:06 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от klon 15.12.05 19:11:06 MSK 1. можно смотреть на дату модификации каталога 2. test "`echo dir/*`" != 'dir/*' 3. shopt -s nullglob ; files=* DonkeyHot ★★★★★ (15.12.05 19:54:45 MSK) Ссылка
Ответ на: комментарий от vilfred 15.12.05 23:19:21 MSK >1. можно смотреть на дату модификации каталога По ходу тоже в цикле >2. test "`echo dir/*`" != 'dir/*' >3. shopt -s nullglob ; files=* ниасилил >watch -d ls -l /home/username/ Вот так сидеть перед компом и следить? :) klon ★ (16.12.05 00:20:08 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от klon 16.12.05 00:20:08 MSK >ниасилил Тогда есть еще один, самый простой способ. Обратись к специалисту. DonkeyHot ★★★★★ (16.12.05 12:04:21 MSK) Показать ответ Ссылка
Ответ на: комментарий от DonkeyHot 16.12.05 12:04:21 MSK Как еще один вариант: использовать stat -c%y <dir> или stat -c%Y <dir> в цикле. hyde ★ (16.12.05 12:17:51 MSK) Ссылка
#! /bin/sh cnt=`ls $1 | wc -l` while true; do sleep 1 cnt1=`ls $1 | wc -l` [ $cnt1 -ne $cnt ] && exit done ananas ★★★★★ (16.12.05 12:18:13 MSK) Показать ответы Ссылка
Ответ на: комментарий от ananas 16.12.05 12:18:13 MSK Спасибо, примерно так проблему и решил. klon ★ (16.12.05 12:22:55 MSK) автор топика Ссылка
Ответ на: комментарий от ananas 16.12.05 12:18:13 MSK >>while true; Можно и так: while : do ... done anonymous (18.12.05 17:51:23 MSK) Ссылка