Zihin Geliştirme Merkezi

KOOLPA

Zihin Geliştirme Merkezi

 

if-else Kalıbı ve Kontrol İşlemleri

 İş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 ...


Geri git   Zihin Geliştirme Merkezi > KooLpa Bilgisayar / İnternet > İşletim Sistemleri > Linux / Pardus

Üye ol Bloglar Yardım Üye Listesi Ajanda Forumları Okundu Kabul Et

Cevapla

 

LinkBack Seçenekler Stil
Alt 14-02-2008, 12:48   #1 (permalink)
Moderator
 
morejderha - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2007
Mesajlar: 714
Blog Başlıkları: 7
Tecrübe Puanı: 2 morejderha is on a distinguished road
Standart if-else Kalıbı ve Kontrol İşlemleri


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.
morejderha isimli üyemiz çevrimdışıdır. (Offline)  
Digg this Post!Add Post to del.icio.usStumble this Post!Reddit!Google Bookmark this Post!Live Bookmark this Post!Propeller this post!
Alıntı ile Cevapla

Sponsor Linkler
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)

 
Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular

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


Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 03:42 .


Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206