История изменений
Исправление DonkeyHot, (текущая версия) :
Тебе придётся его сделать - я не знаю, как «правильно» ПШать, а сравнивать на некошерном коде не честно. Эксперимент такой:
Берём какую-то простую задачу и постепенно доводим её до «энтерпрайного» состояния. На каждом этапе записываем, что вызвало необходимость добавления каждого слова, и «это негодное» для каждого удалённого - где «это» - название элемента, по причине которого ранее появилось удалённое. Например:
mv * $dst/ -- ТЗ - начальная версия
for i in ... cp $i $dst/.$i && mv $dst/.$i $dst/$i && rm $i -- ТЗ - нужно прятать недокопированные файлы
do done && $ -- баш - синтаксис
shopt -s pipefail -- баш - детали реализации(или стандарт)
test -f "$i" || continue -- ТЗ - не трогать подкаталоги
"" вокруг всех $переменных -- баш - пробелы в значениях переменных
cat $i | tee $dst/.$i >$dst2/.$i || continue ; mv $dst2/.$i $dst2/$i && -- ТЗ - нужно в 2 места; cp - негодное
trap "" TERM INT -- ТЗ - не доставлять файлы повторно при ребутах
Может случиться, что ты не найдёшь, в чём винить объекты. Я бы посмотрел на эту версию - пока мне кажется, что это потребует перехода к «всё есть строка»(и т.о. устранение объектных неприятностей) на как можно более ранних этапах, что есть читинг.
Исходная версия DonkeyHot, :
Так я увижу хоть один пример, где объектность реально мешала бы?
Тебе придётся его сделать - я не знаю, как «правильно» ПШать, а сравнивать на некошерном коде не честно. Эксперимент такой:
Берём какую-то простую задачу и постепенно доводим её до «энтерпрайного» состояния. На каждом этапе записываем, что вызвало необходимость добавления каждого слова, и «это негодное» для каждого удалённого - где «это» - название элемента, по причине которого ранее появилось удалённое. Например:
mv * $dst/ -- ТЗ - начальная версия
for i in ... cp $i $dst/.$i && mv $dst/.$i $dst/$i && rm $i -- ТЗ - нужно прятать недокопированные файлы
do done && $ -- баш - синтаксис
shopt -s pipefail -- баш - детали реализации(или стандарт)
test -f "$i" || continue -- ТЗ - не трогать подкаталоги
"" вокруг всех $переменных -- баш - пробелы в значениях переменных
cat $i | tail $dst/.$i >$dst2/.$i || continue ; mv $dst2/.$i $dst2/$i && -- ТЗ - нужно в 2 места; cp - негодное
trap "" TERM INT -- ТЗ - не доставлять файлы повторно при ребутах
Может случиться, что ты не найдёшь, в чём винить объекты. Я бы посмотрел на эту версию - пока мне кажется, что это потребует перехода к «всё есть строка»(и т.о. устранение объектных неприятностей) на как можно более ранних этапах, что есть читинг.