сценарий bash для создания файла eot для завершения папки (копирование из источника diff) [закрыто]

Может ли кто-нибудь помочь мне в создании сценария Bash для создания файла eot (нулевого байта) для всех папок, поступающих (копируемых) в CentO Linux.

Предложение: 1.> скрипту необходимо понять, полностью ли скопирована папка 2.> Создайте файл с именем "folder.eot" (нулевой байт) в том же месте

Требуется ответ, спасибо.

-3
задан 16 December 2019 в 15:56

1 ответ

Можно использовать

touch folder.eot

для создания нулевого файла длины.

Для первой задачи, разработайте то, чего точно Вы ожидаете.

- редактирование после обсуждения в комментариях -

следующий сценарий Bash проверяет на завершение копии с помощью эти lsof команда. Это не очень устойчивый метод - как отмечено в комментариях, было бы предпочтительно иметь отправителя завершения сигнала файлов.

код не оптимизирован ни для чего, ни полностью проверен.

#!/bin/bash

sleep_time=1m
verbose=true
suffix=.eot

while [ true ]
do
    dirs=`ls -d */ | cut -f1 -d'/'` # list only directories, trim final slash
    for d in $dirs
    do
    if [ `lsof +D $d | wc -l` -eq 0 ]
    then
        touch $d$suffix
        $verbose && echo No open files in $d
    else
        $verbose && echo There are open files in $d
    fi
    done
    $verbose && echo pausing for $sleep_time...
    sleep $sleep_time
done
0
ответ дан 21 December 2019 в 23:32

Другие вопросы по тегам:

Похожие вопросы: