LINUX.ORG.RU

PDF в DJVU


0

1
#!/bin/bash
#
# pdfs2djvu
#

if [ -z `which pdftoppm` -o -z `which cjb2` -o -z `which djvm` ]; then
echo
echo "Error: pdftoppm, cjb2 and djvm are needed"
echo
exit 1
fi

shopt -s extglob

OUTFILE="#0.djvu"
DEFMASK="*.pdf"
DPI=600

if [ -n "1
else
MASK=$DEFMASKfifor PDF in $MASK; do
if [ ! -e $PDF ]; thenechoecho "Error: current directory must contain files with the mask $MASK"
echo
exit 1
fi
echo $PDFpdftoppm -mono -r 600 -aa yes $PDF $PDFfor PBM in $PDF*.pbm; do
echo $PBMcjb2 -dpi $DPI $PBM $PBM.djvu
rm -f $PBMdonedonedjvm -c $OUTFILE $MASK*.pbm.djvu

Если положить скрипт в папку с несколькими *.pdf он сконвертирует их в *.djvu (по крайней мере так должно быть), но вместо конвертации терминал сообщает

строка 29: ошибка синтаксиса: неожиданный конец файла
Что не так?

★★★★★

Последнее исправление: f1xmAn (всего исправлений: 1)

> if [ -n «1
???!


MASK=$DEFMASKfi

Здесь был перевод на новую строку?

for PDF in $MASK; do

Где-то должен быть done.

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

Скопировал еще раз:

pdfs2djvu: строка 22: неожиданный EOF при поиске соответствующего `"'
pdfs2djvu: строка 29: ошибка синтаксиса: неожиданный конец файла

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

То, что скопировал, все правильно

#!/bin/bash
#
# pdfs2djvu
#

if [ -z `which pdftoppm` -o -z `which cjb2` -o -z `which djvm` ]; then
echo
echo "Error: pdftoppm, cjb2 and djvm are needed"
echo
exit 1
fi

shopt -s extglob

OUTFILE="#0.djvu"
DEFMASK="*.pdf"
DPI=600

if [ -n "1
else
MASK=$DEFMASKfifor PDF in $MASK; do
if [ ! -e $PDF ]; thenechoecho "Error: current directory must contain files with the mask $MASK"
echo
exit 1
fi
echo $PDFpdftoppm -mono -r 600 -aa yes $PDF $PDFfor PBM in $PDF*.pbm; do
echo $PBMcjb2 -dpi $DPI $PBM $PBM.djvu
rm -f $PBMdonedonedjvm -c $OUTFILE $MASK*.pbm.djvu

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

> if [ -n «1
Здесь написан бред

MASK=$DEFMASKfifor PDF in $MASK; do

Здесь не хватает n переводов на новую строку

if [ ! -e $PDF ]; thenechoecho „Error: current directory must contain files with the mask $MASK“

Здесь тоже, а так же в куче других мест

for PBM in $PDF*.pbm; do

А после for должен быть done, а его нет.

А в оригинальном тексте pdfs2djvu этих ошибок нет.

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

Там глюк на странице откуда копируешь - глянь внимательнее.

Строка if [ -n «1 не имеет смысла

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