LINUX.ORG.RU

Shell программирование

 , ,


0

3

Добрый день.Начинаю изучать программирован на языке Shell. Столкнулся с такой проблемой, нужно написать код по заданию --- Отслеживание изменений размеров файлов в поддереве указанного каталога. Может кто-то набросает как это сделать, мне бы понять оно работает.


Думаю, придется хранить некоторое состояние между запусками подсчета размеров файла. Это состояние, оно где будет храниться, в файле, БД или где?

anonymous
()
#!/bin/sh

usage() {
        echo "$1 <dir>"
        exit 1
}

LAST=/tmp/last
THIS=/tmp/this

test $# -eq 1 || usage $(basename $0)

test -f $LAST || touch $LAST

find $1 -newer $LAST -ls > $THIS

diff $LAST $THIS

mv $THIS $LAST

Правда, оно ищет любые изменения и глючное, но для первого приближения сойдёт. ;)

beastie ★★★★★
()
Ответ на: комментарий от anonymous

Рабочие, временные файлы нужно создавать и хранить в каталоге /tmp , а после завершения работы программы удалить временные файлы.

Nexi
() автор топика
Ответ на: комментарий от beastie

У тебя тут временнАя мертвая зона есть, размером с время пробега find.

anonymous
()
Ответ на: комментарий от beastie

-newer $LAST

Это убрать и нормально будет

anonymous
()

Главное правильно задать вопрос и раз, лаба готова

phoenix ★★★★
()
Ответ на: комментарий от beastie

Спасибо,понемногу начинаю разбираться но все-же я не понимаю как там работают некоторые команды , можете написать коментарии к коду?

Nexi
() автор топика
Ответ на: комментарий от anonymous

Вот хорошая книга - http://www.opennet.ru/docs/RUS/bash_scripting_guide/

Но подустаревшая.

Если, вы, т. Nexi, читаете по-английски, то кладезь актуальной и исчерпывающей информации по ГНУ Башу и компании — это разумеется, вики под ред. Грега Вулиджа.

Причем если вы уже владеете хоть одним другим языком, кроме Баша, то не исключено, что стоит начать не с Bash Guide, а с Bash Pitfalls, у последнего есть неполный (в смысле старого года) перевод на русский.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.