Bash Koşullu İfadeleri
Önceki VI. Oylum - Bash'in Özellikleri Sonraki
Bash Koşullu İfadeleri
Koşulu ifadeler [[ birleşik deyimi ile test ve [ yerleşikleri tarafından kullanılır.
İfadeler tek terimli ya da iki terimli olabilir. Tek terimli ifadeler çoğunlukla bir dosyanın durumunu saptamakta kullanılır. Dizge işleçleri ve sayısal karşılaştırma işleçleri de vardır. Dosya argümanı ilklerden birine /dev/fd/N biçeminde verilmişse N dosya tanıtıcısı kontrol edilir, /dev/stdin, /dev/stdout veya /dev/stderr olarak verilmişse dosya tanıtıcı olarak sırayla 0, 1, 2 kontrol edilir.
Aksi belirtilmedikçe, dosyalar üzerinde işlem yapan ilkler sembolik bağları izler ve bağın kendisinde değil hedefi üzerinde işlem yapar.
-a dosya
dosya varsa doğrudur.
-b dosya
dosya varsa ve bloka özelse doğrudur.
-c dosya
dosya varsa ve karaktere özelse doğrudur.
-d dosya
dosya varsa ve bir dizinse doğrudur..
-e dosya
dosya varsa doğrudur.
-f dosya
dosya varsa ve normal bir dosyaysa doğrudur.
-g dosya
dosya varsa ve grup kimliği biti 1 ise doğrudur.
-h dosya
dosya varsa ve bir sembolik bağ ise doğrudur.
-k dosya
dosya varsa ve yapışkan biti 1 ise doğrudur.
-p dosya
dosya varsa ve bir isimli boruhattı (FIFO) ise doğrudur.
-r dosya
dosya varsa ve okunabilir ise doğrudur.
-s dosya
dosya varsa ve uzunluğu sıfırdan büyükse doğrudur.
-t fd
fd dosya tanıtıcısı açık ve bir uçbirime karşılıksa doğrudur.
-u dosya
dosya varsa ve kullanıcı kimliği biti 1 ise doğrudur.
-w dosya
dosya varsa ve yazılabilir ise doğrudur.
-x dosya
dosya varsa ve çalıştırılabilir ise doğrudur.
-O dosya
dosya varsa ve sahibi etkin kullanıcı kimlik ise doğrudur.
-G dosya
dosya varsa ve sahibi etkin grup kimlik ise doğrudur.
-L dosya
dosya varsa ve bir sembolik bağ ise doğrudur.
-S dosya
dosya varsa ve bir soket ise doğrudur.
-N dosya
dosya varsa ve son okunduğundan beri değiştirilmişse doğrudur.
dosya1 -nt dosya2
dosya1, dosya2 den değişiklik tarihine göre daha yeni ise ya da dosya1 mevcutken dosya2 yoksa doğrudur.
dosya1 -ot dosya2
dosya1, dosya2 den daha eski ise ya da dosya2 mevcutken dosya1 yoksa doğrudur.
dosya1 -ef dosya2
dosya1 ile dosya2 aynı aygıt ve aynı dosya düğümünü gösteriyorsa doğrudur.
-o sçn-ismi
Kabuk seçeneği sçn-ismi etkinse doğrudur.
-z dizge
dizge uzunluğu sıfırsa doğrudur.
-n dizge
dizge
dizge sıfırdan farklıysa doğrudur.
dizge1 == dizge2
dizge'ler eşitse doğrudur. Katı POSIX uyumluluğu için == yerine = kullanılabilir.
dizge1 != dizge2
dizge'ler aynı değilse doğrudur.
dizge1 < dizge2
dizge1 yerele göre sıralamada dizge2 den önceyse doğrudur.
dizge1 > dizge2
dizge1 yerele göre sıralamada dizge2 den sonraysa doğrudur.
arg1 -eq arg2
arg1 ile arg2 eşitse doğrudur. Argümanlar tamsayı olmalıdır.
arg1 -ne arg2
arg1 ile arg2 farklıysa doğrudur. Argümanlar tamsayı olmalıdır.
arg1 -lt arg2
arg1, arg2 den küçükse doğrudur. Argümanlar tamsayı olmalıdır.
arg1 -le arg2
arg1, arg2 den küçük ya da ona eşitse doğrudur. Argümanlar tamsayı olmalıdır.
arg1 -gt arg2
arg1, arg2 den büyükse doğrudur. Argümanlar tamsayı olmalıdır.
arg1 -ge arg2
arg1, arg2 den büyük ya da ona eşitse doğrudur. Argümanlar tamsayı olmalıdır.
Önceki Üst Ana Başlık Sonraki
Etkileşimli Kabuk Davranışı Başlangıç Kabuk Aritmetiği
Bir Linux Kitaplığı Sayfası