2016-03-25 12 views
0

Dosya komutunu kabuk betiğini kullanarak kontrol etmek istiyorum. Kodun altında kullandım. Eğer TEST.png veya test.png'im varsa, hem koşulların başarılı olup olmadığını hem de Dosyada bulunan dosyaların bulunduğu dosya adlarının ikisi için. Ancak dosya denetimi için büyük/küçük harf duyarlılığı sağlamak istiyorum. Lütfen kabuk komut dosyasında büyük/küçük harf duyarlılığını nasıl etkinleştireceğimi bana bildirin.Kabuk betiğinde dosya adını kontrol ederken büyük/küçük harf duyarlılığı nasıl etkinleştirilir?

file="/mnt/floppy/test.png" 
    if [ -f "$file" ] 
    then 
     echo "File found" 

    else 
     echo "Invalid file" 
    fi  
+0

Kabuk/bash aslında, sizi kontrol etmeye çalışıyorsanız dosya yolu bakılırsa varsayılan – jDo

+3

başına harfe duyarlı olduğundan Vakada dosya sistemi, muhtemelen VFAT ile ilgileniyor. – dekkard

cevap

0
Sen grep kullanabilirsiniz

:

file="/mnt/floppy/test.png" 
echo $file | grep [A-Z] && echo "Invalid file: Filename has uppercase letters" && exit 1 
# echo file | grep [a-z] && echo "Valid file" 
+0

Ayrıca (birisi bunu belirtmek zorunda olduğundan), [AZ] 've' [az] 'yerine POSIX karakter sınıflarını' [[: üst:]] 've' [[: aşağı:]] 'kullanabilirsiniz. . –

+0

Bunu tamamen kabukta yapabilirsin; * dosyada $ dosya * [A-Z] *) echo Büyük harf ;; esac' - fakat sorunun bir değişken olup olmadığına bakılmaksızın, bir dosya var mı, yoksa değişkende dosya adında bir değişiklik olup olmadığına bakılmak isteniyor. – tripleee

İlgili konular