Только root может регистрация в Мариадб на Centos 7

Как уже было сказано в комментариях, вероятно, что-то не так с вашим диском. Моей первой мыслью было бы проверить дисковое пространство. Также проверьте файловую систему (например, btrfs snaps).

df -h

Затем проверьте права доступа к файлам (chmod и т.д.) и фактические сбои на диске. Попробуйте записать или потрогать файлы в других каталогах/разделах

touch ~/yayfile.txt
touch /yayfile.txt
1
31.03.2019, 14:32
1 ответ

Предполагая, что вы получаете продолжительность в простых секундах или в виде положительных целых чисел с суффиксами h, mи/или s, следующее вычисляет продолжительность в секундах (, но не проверяет, что предоставленные аргументы, без суффикса, на самом деле являются положительными целыми числами, и не очень тщательно следит за тем, чтобы суффиксы были указаны правильно):

to_seconds () {
    seconds=0

    for ts do
        case $ts in
            *h) seconds=$(( seconds + 60*60*"${ts%h}" )) ;;
            *m) seconds=$(( seconds +    60*"${ts%m}" )) ;;
             *) seconds=$(( seconds +       "${ts%s}" )) ;;
        esac
    done

    printf '%s\n' "$seconds"
}

Цикл в функции будет перебирать заданные аргументы.

Подстановка параметра ${ts%h}удалит замыкающий hс конца значения $ts, если он там есть.

Если использовать 5m 5m 5mв качестве аргумента, будет вычислено количество секунд для 15 минут.

Вы должны иметь возможность использовать это в своем коде,возможно, не в такой точной форме (как отдельная функция ), а как часть кода, который вы сейчас пишете.

Тестирование:

$ to_seconds 5h 22m 44s
19364
$ to_seconds 5h 22m 44
19364
$ to_seconds 44
44
$ to_seconds 10
10
$ to_seconds 10m
600
$ to_seconds 10h
36000
$ to_seconds 2i
bash: seconds +       2i: value too great for base (error token is "2i")

Чтобы убедиться, что данное число является целым числом, см.

3
27.01.2020, 23:22

Теги

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