Bash - İf / Else Kullanımı

Başlatan utdmr, 14 Kasım 2009 - 19:18:36

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

utdmr

Arkadaşlar çok çok az bir bash bilgisi ile küçük bir script yazmaya çalışıyorum. Ancak bir yerde hata var, [: 13: missing ] diye bir problem çıkıyor, bazı dosyaları siliyor ve döngü istediğim gibi çalışmıyor, sanki if kısmı işlemiyor gibi, sorun nerede?
#!/bin/sh

size=$(stat -c%s "$1")

if [ $size -lt 3000000]; then
echo ""$1" is too big. Skipping \n"
else
kekik=`pdftitle "$1"`

i="$kekik"".pdf"

mv "$1" "$i"
fi
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

erginemr

Bu program tam olarak ne yapıyor?

Sorun çıkartan dosyalar, isminde boşluk olan dosyalar mı?

utdmr

Alıntı yapılan: erginemr - 14 Kasım 2009 - 19:39:36
Bu program tam olarak ne yapıyor?

Sorun çıkartan dosyalar, isminde boşluk olan dosyalar mı?

Program PDF dosyasının adını ilk bir kaç kelimesine değiştirmesine yarıyor.

İsminde boşluk olanlarda da sorun çıkartıyordu, sonra $1'lere tırnak ekledim, çözüldü sandım, çözülmemiş de olabilir. Bu da pdftitle programı.
#!/bin/sh

pdftohtml -f 1 -stdout "$1" | head -n 14 | tail -n 5 | html2text | tr  '\n' ' '


Not: Hepsi /usr/bin/'de.
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

erginemr

Şu satırda;
if [ $size -lt 3000000]
ikinci köşeli parantezden önce bir boşluk bırakıp tekrar dener misiniz?
if [ $size -lt 3000000 ]