LINUX.ORG.RU

/root/backup.sh: строка 61: [[1: команда не найдена

 


0

1

При выполнении конструкции в консоль падает сообщение

/root/backup.sh: строка 61: [[1: команда не найдена

Конструкция такая:

cat ${FILENAME} | while read DBNAME
do
    mkdir -p ${ARCHIVEDIR}'/'${DBNAME}
    pg_dump -d $DBNAME -h ${SERVERNAME} -p $PORT -U ${USERNAME} -w -Fc -f ${ARCHIVEDIR}'/'${DBNAME}'/'${DBNAME}'_'$SUFFIX'.dump.gz'
    if [[$? -ne 0 ]]
    then
        echo $DBNAME': pg_dump error code is '$? >> $ERRLOG
    fi
done

Строка 61 это как раз if [[$? -ne 0 ]], что тут не правильно? Примите на веру, что остальные переменные инициализированы, скрипт даже продолжает работать


Строка 61 это как раз if [[$? -ne 0 ]], что тут не правильно?

Пробела не хватает
if [[ $? -ne 0 ]]

Kroz ★★★★★
()

Ну и до кучи:

Опять это cat file | ...

while read DBNAME
do 
...
done < "$FILENAME"

Очень смешно: mkdir -p ${ARCHIVEDIR}'/'${DBNAME}. Типа '/' самый опасный символ, что аж жуть...

vodz ★★★★★
()
Ответ на: комментарий от Shulman

Потому что у тебя эхо перевод строки добавляет

$ > file
$ du -b file
0	file

$ echo "" > file
$ du -b file
1	file

$ echo -n "" > file
$ du -b file
0	file
micronekodesu ★★★
()
Ответ на: комментарий от Shulman

Я же потом не вспомню что я хотел сделать, как так слева ничего нет???))))

Эко вы далёко мыслите!!)))00нольноль

А подумать, к примеру, что вы потом забудете, что у вас результат передается через глобальную переменную, какая меняется с каждым выражением, да впишете ненароком 61-й строчкой что-нибудь еще, не желаете?

Или что́ значит вот это заклинание -w -Fc в строчке длиною в 127 знаков?

pg_dump -d "$DBNAME" \
        -h "$SERVERNAME" -p "$PORT" -U "$USERNAME" \
        --no-password --format=custom \
        -f "${ARCHIVEDIR}/${DBNAME}/${DBNAME}_${SUFFIX}.dump.gz" \
    || printf >&2 $"%s: pg_dump error code is %d\n" "$DBNAME" "$?"
Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Так

: > file
веселее. Смайлик злобно улыбается, за мгновение до обнуления файла)

art_metr
()
Ответ на: комментарий от legolegs

: > file лучше, чем > file потому, что не выглядит как опечатка.

Зато в tcsh до сих пор есть метки и goto, и там двоеточие сохраняет первоначальный смысл, который был во всех shell, а не этот дурацкий псевдоним к «true».

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.