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:
pgpV8RyernrB4.pgp
Description: PGP signature