İşletim Sistemleri Katagorisinde ve Linux / Pardus Forumunda Bulunan if-else Kalıbı ve Kontrol İşlemleri Konusunu Görüntülemektesiniz.=>if-else Kalıbı ve Kontrol İşlemleri Hemen her programlama dilinde olan if kalıbı bir Linux komutunun çalışmasını kontrol (test) eder. if ...
|
|||||||
| Üye ol | Bloglar | Yardım | Üye Listesi | Ajanda | Forumları Okundu Kabul Et |
|
|
#1 (permalink) |
|
Moderator
![]() |
if-else Kalıbı ve Kontrol İşlemleri Hemen her programlama dilinde olan if kalıbı bir Linux komutunun çalışmasını kontrol (test) eder. if komutu yerleşik bir komuttur. if komutunun ardından gelen Linux komutu çalıştırılır ve komutun çıkış durumu (exit status) gözönüne alınarak ardından gelen then deyimiyle birlikte devamı işletilir. Genellikle komutun iki türlü çıkış durumu olacağından else komutunun ardından gelen komut zinciri, diğer çıkış durumunda çalıştırılır. Her if, bir fi komutuyla bitmelidir. Aşağıda if-then-else komutunun örnek sözdizimi görülüyor. if linux komutu then komut1 komut2 ... else komut1 komut2 ... fi if komutu genellikle kendine test komutu ile birlikte kullanım bulur. Bu komut yardımıyla mantıksal işlemler yapılabilir, sayılar ve hatta diziler karşılaştırılabilir. Anahtar sözcük olan test'ten sonra opsiyonlar ve/veya karşılaştırılacak olan değerler yazılır. Her opsiyon bir mantıksal işleme karşılık gelir. Örneğin -lt opsiyonu ilk girilen aritmetik değişkenin ikinci değerden küçük olup olmadığını denetler. Benzer şekilde = opsiyonu da iki karakter kümesinin eşitliğini kontrol eder. Aşağıda test komutunun örnek kullanımı yeralıyor. $ test 5 -eq 3 $ a="linux" $ test $a="linux" komutun işletilmesinin ardından kabuğa bir değer döndürülür. Bu değer komut başarılı olarak işletilmişse 0, değilse 1'dir. Son çalıştırılan tüm Linux komutlarının çıkış değeri $? değişkeninde tutulur. test komutunun çıkış değeri de bu yolla öğrenilebilir. $ sayi=4 $ test $sayi -eq 4 $ echo $? 0 $ test $sayi -lt 2 $ echo $? 1 test komutu yerine parantezler de kullanılabilir. Yukarıdaki iki örnek, parantez kullanılarak şu şekilde yazılabilir: $ [ $sayi -eq 4 ] $ [ $sayi -lt 12 ] Dikkat edilmesi gereken bir nokta, köşeli parantez kullanırken araya boşlukların eklenmesidir. Parantezler başlı başına bir komut olarak görüldüklerinden sağında ve solunda en az bir boşluk bırakılmalıdır. test komutunda sıkça kullanılan diğer seçenekler şunlardır: Aritmetik karşılaştırma -gt büyük -lt küçük -ge büyük eşit -le küçük eşit -eq eşit -ne eşit değil Dizisel karşılaştırma -z boş dizi -n tanımlı dizi = eşit diziler != farklı diziler Dosya karşılaştırması -f dosya var -s dosya boş değil -r dosya okunabilir -w dosyaya yazılabilir -x çalıştırılabilir dosya -h sembolik bağlantı -c karakter aygıt -b blok aygıt Mantıksal karşılaştırma -a VE -o VEYA ! DEĞİL if komutunun test ile birlikte kullanılabildiğini daha önce belirtmiştik. Aşağıda bununla ilgili küçük bir örnek yeralıyor. #!/bin/bash echo "0 ile 20 arasinda bir sayi secin" read sec if [ $sec -lt 10 ] then echo "Secilen sayi tek basamakli" else echo "Secilen sayi cift basamakli" fi Her if komutu bir fi ile son bulmalıdır. görkem çetin
__________________
Talking's not always the best thing. |
|
|
|
| Sponsor Linkler | |
|
|
|
![]() |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) |
|
| Seçenekler | |
| Stil | |
|
|
|
||||
| Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
| Giriş/Çıkış İşlemleri | morejderha | Linux / Pardus | 0 | 14-02-2008 12:46 |
| Boru (pipe) İşlemleri | morejderha | Linux / Pardus | 0 | 14-02-2008 11:42 |
| Kabuk İşlemleri | morejderha | Linux / Pardus | 0 | 14-02-2008 11:41 |
| Vadeli Borsa İşlemleri | KöTü KeDi ŞeRaFeTTiN | Ekonomi | 0 | 22-09-2007 15:32 |
| Açıköğretim Askerlik Tecil İşlemleri | Turist Ömer | Açıköğretim Fakültesi | 0 | 11-07-2007 06:52 |
Gizlilik Politikası | KooLpa üyeleri onay gerektirmeksizin mesaj yazabilmektedir. KooLpa' da yasalara aykırı unsurlar bulursanız buraya yazınız. En kısa zamanda gereği yapılacaktır.