@Nastya1920

Как создать в скрипте цикл while-do проверки, не пуст ли файл?

Впервые пишу скрипт.
Нужно создать что-то вроде этого: проверять файл, пока не окажется, что он существует и не пуст (в файле будет сертификат)

While [проверка показывает, что файл или не существует или пуст]
Do
Проверить опять, есть ли файл и пуст ли файл
Done

Пробовала так, не работает:

IsFileEmptyOrMissing(){
file="$1"
[ ! -s "${file}" ] && return 0 || return 1
}

IsFileEmptyOrMissing "ca.crt" >res
Cat res (пусто)
x=$(cat res)

while [ $x != 0 ]
Do
IsFileEmptyOrMissing "ca.crt" >res
x=$(cat res)
Done

Файл "ca.crt" сейчас для теста точно существует, лежит в папке вместе со скриптом.
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
проверять файл, пока не окажется, что он существует и не пуст

Можно как-то так сделать:
while [ ! -s "$file" ] ; do sleep 1 ; done

While [проверка показывает, что файл или не существует или пуст]
Do
Проверить опять, есть ли файл и пуст ли файл
Done

это какой-то больно загруженный цикл, не надо так делать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы