сценарий оболочки: вызов переменной с параметрами / arg

Я установил Fedora 16 вместо Fedora 18 в виртуальной машине, и, сделав это, мой VMPlayer начал успешно работать с Fedora.

-121--290580-

getmail блокирует файл mbox во время обновления, так что это должно работать нормально, пока вы настраиваете оба получателя, которые записывают в одну и ту же конфигурацию для блокировки:

Вы должны убедиться, что все другие программы, обращающиеся к любому файлу mbox, ожидают файлов mboxrd-format mbox и тот же тип блокировки файлов, который вы настраиваете для использования getmail невыполнение этого требования может привести к повреждению mbox. Если вы не знаете, какой тип блокировки файлов требуется системе, обратитесь к системному администратору. Если вы являетесь системным администратором и не знаете, какой тип блокировки файлов требуется вашей системе, не используйте файлы Mboxrd; вместо этого используйте Maildirs. Обратите внимание, что доставка в mbox-файлы через NFS может быть ненадежной и ее следует избегать; это относится к любому MDA.

(от http://pyropus.ca/software/getmail/configuration.html )

Вы, конечно, также можете извлекать из счетов один за другим и не сталкиваться с проблемами между экземплярами getmail.

-121--290586-

Прошло много лет с тех пор, как я сделал бит boot-by-NFS-from-a-remote-client, но действительно нужно быть уверенным в том, что NFS либо компилируется в ядро статически, либо загружается модуль через initrd, как предлагал самец. Кроме того - и я полагаю, что вы уже сделали это, но «лучше безопасно, чем извините» - вы должны быть уверены, что сможете установить вашу другую систему, период: загрузить ваш клиент с USB или CD-ROM/DVD, и убедиться, что сервер может быть смонтирован. Если параметр/etc/export настроен неправильно, или если сопоставитель портов не работает на стороне сервера, это вполне может быть проблемой.

0
30.05.2018, 08:22
1 ответ

Parece que desea que la salida de error vaya a un archivo específico según uno de los argumentos de su función. Para esto, no necesita dos variables separadas:

if [[ "$1" == "btic" ]]; then
    err="$data/${tbl}_btic_err"
elif [[ "$1" == "kline" ]]; then
    err="$data/${tbl}_kline_err"
fi

o simplemente

err="$data/${tbl}_${1}_err"

Entonces llamajq:

jq. <"$1"  2>"$err"

Noté varios problemas con su código y he tratado de resolverlos a continuación:

#!/bin/bash

valcurl () {

    if [ "$1" != 'btic' ] && [ "$1" != 'kline' ]; then
        echo 'first argument has to be btic or kline' >&2
        return 1
    fi
    if [ -z "$2" ]; then
        echo 'second argument must not be empty' >&2
        return 1
    fi

    datadir=/home/data

    datafile="$datadir/${2}_$1"
    err="${datafile}_err"

    if jq. <"$datafile" 2>"$err"; then
        echo 'correct'
    else
        echo 'contains error'
    fi
}

valcurl "$1" "$2"

He asumido que es el archivo de datos construido usando el primer y segundo argumento que desea enviar a través de jq, y que desea verificar el estado de salida de jqen busca de fallas. jqfallaría si $datafileno es un archivo JSON válido.

También acorté un poco el código al no crear variables separadas para cada variación de $1, y luego agregué algo de validación de los argumentos.

0
28.01.2020, 04:21

Теги

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