Merhaba ...
Bir arkadaşımın ricası üzerine bazı işler yapmam gerekiyordu bende elim
değişmişken yapabileceğimin en iyisi yapayım dedim ve bir bash scirpt yazmaya
başladım ancak bir yerinde takıldım yardım edebilirseniz sevinirim...
aşağıdaki kodun değişkenlerinin aldığı değerleri vereyim...
${querantinedir}=/Yedek/Karantina
${userdir}=Hasan
${File}=/Yedek/Samba/Hasan/clam.cab
aşağıdaki kodda yapmak istediğim şey eğer /Yedek/Karantina dizininde
Hasan kullanıcısına ait bir dizin yoksa oluşturması (bunda sorun yok).
Eğer o dizinde daha önceden bir dosya varsa yeni bir dizin oluşturmak
ve onun içerisine taşımak ancak $Files değişkeninin aldığı değerden dolayı
ikinci if yapısıda /Yedek/Karantina/Hasan//Yedek/Samba/Hasan/clam.cab
diye bir dosya kontrol ediliyor .. İçinden çıkamadığım durum ise
bana sadece $File değişkeni içerisinden en sonda bulunan "clam.cab" dosya
adını çıkartabilmek. kregexpeditor' e göre [^/]*$ regex kalıbı uygun olması
lazım ancak deneme=`echo $Files | grep "[^/]*$" ` olarak denediğimde sonuç
alamıyorum.. bunu nasıl aşabilirim?
Not: cut kullanmayı düşündüm ancak dosya Hasan dizini içerisinden daha
derinlerde olabileceğinden vazgeçtim.
Sorunun cevabı yine çok basit çıkacak ve ben yine aaaa diyeceğime eminim :)
MoveFile(){
if [ ! -d ${querantinedir}${userdir} ]; then
mkdir ${querantinedir}${userdir}
fi
if [ -f ${querantinedir}${userdir}/${File} ]; then
path=`mktemp -p ${querantinedir}${userdir}/`
else
path="${querantinedir}${userdir}"
fi
mv -f ${File} ${path}/
if [ $? -ne 0 ]; then
return 1
fi
return 0
}
--
Saygılar && İyi çalışmalar
Timu EREN (a.k.a selam)
Attachment:
pgpluzP15iGFF.pgp
Description: PGP signature