yazılabilir. Bundan sonra programın ismi yazılıp enter tuşuna basıldığı zaman bir program Linux komutuymuş gibi çalışacaktır.

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "yazılabilir. Bundan sonra programın ismi yazılıp enter tuşuna basıldığı zaman bir program Linux komutuymuş gibi çalışacaktır."

Transkript

1 DERS 8: 7. Kabuk Programlamaya Giriş Her kabuğun kendine özgü programlama dili yapısı vardır. Bash kabuğu ise güçlü programlama özellikleriyle karmaşık programların rahatça yazılmasına izin verir. Mantıksal operatörler, döngüler, değişkenler ve modern programlama dillerinde bulunan pek çok özellik bash kabuğunda da vardır ve işleyiş tarzları da hemen hemen aynıdır. Genellikle, bir programı oluşturacak olan komutlar bir dosyaya yazılırlar ve ardından bu dosya çalıştırılır. Herhangi bir editör yardımıyla yazılan program, daha sonra kabuk altında çalıştırılır. Bir kabuk programı diğerlerini çalıştırabilir. Bu düzende kabuk programlarını daha karmaşık komutların bir araya gelmiş ve büyümüş haline benzetebiliriz. 7.1 Kabuk Programları Kabuk programları, bir veya birden fazla linux komutunu tutan dosyalardır. Bu dosya yaratıldıktan sonra doğrudan dosyanın ismi girilerek veya dosya isminden önce '.' karakteri getirerek çalıştırılabilir. Bir kabuk programı, çalıştırma bitini 1 yapmak suretiyle "çalıştırılabilir" hale getirilir. chmod komutu yardımıyla bir programı çalıştırılabilir yapmak için, $ chmod +x komutismi yazılabilir. Bundan sonra programın ismi yazılıp enter tuşuna basıldığı zaman bir program Linux komutuymuş gibi çalışacaktır. $ cat calistir echo -n "Tarih : " date $ chmod +x calistir $ calistir Tarih : Sun Dec 8 07:11:51 EET 1996 Yukarıdaki örnekte "calistir" isimli iki satırlık bir kabuk programının önce içeriği ekrana yazıldı, ardından çalıştırılacak duruma getirildi ve çalıştırıldı. Kabuk programları yazarken dosyanın işlevini ve her satırdaki komutun veya komut kümesinin ne amaçla kullanıldığını gösteren açıklama satırları kullanmak işe yarar. Bir açıklama eklemek için satır başına (veya boş satıra) # işareti eklenir ve ardından istenilen cümle girilir. # işaretinden sonraki tüm satır kabuk tarafından gözardı edilir. Aşağıdaki programda komut öncesinde yeralan açıklama satırı, komut hakkında bilgi veriyor. # gunzip komutu dosya acmak icin kullanilir. gunzip sistem.gz Yorum satırı, komutun sonuna da eklenebilir. ps -aux # sistem surecleri hakkinda ayrintili bilgi..

2 Bir kabuk altında çalışırken başka bir kabuk için yazılmış bir programı çalıştırmak mümkündür. Örneğin tcsh altındasınız ve daha evvel bash kullanarak yazdığınız bir programı çalıştırmak istiyorsunuz. Önce bash yazarak kabuk değiştirmeli, ardından programı çalıştırmalı, ve tekrar tcsh'a dönmelisiniz. Tüm bunları otomatik olarak yaptırabilirsiniz. Programın en başına #! karakterini, ardından programın çalışacağı kabuğun patikasını yazın. Örneğin #!/bin/bash komutunu programın en üstüne eklerseniz bu program bash kabuğu altında çalışacaktır. 7.2 Değişkenlerin Kullanımı Bir değişkene değer atandığı anda sistem tarafından tanınır. Değişkenler alfabetik veya nümerik karakterlerden oluşabilirler fakat bir değişken sayısal bir değer ile başlayamaz. Bunların dışında değişken isminin içinde "_" karakteri de bulunabilir. Bir değişkene değer ataması "=" işareti yardımıyla yapılır. $ mesaj="aksama yemege geliyorum" İçeriği olan bir değişkene başına "$" işareti konularak ulaşılır. Aşağıda, echo komutu yardımıyla bir değişkenin içeriği ekrana basılıyor. $ echo $mesaj aksama yemege geliyorum $ echo yarin $mesaj yarin aksama yemege geliyorum Aynı mesajı değişken kullanmadan da görüntüleyebiliriz: $ echo "Aksama yemege geliyorum" Aksama yemege geliyorum 7.3 Giriş/Çıkış İşlemleri Bir kabuk programı çalışırken kullanıcıdan klavye yardımıyla bilgi girmesi sağlanabilir. Bu tür işlemler için tanımlanan read komutu klavyeyi okur ve aldığı bilgiyi bir değişkene atar. Aşağıdaki komutları içeren program yardımıyla klavyeden okunan değer ekrana yazılıyor. echo komutundan sonra birden fazla değişken grubu veya hem değişken, hem de dizi kullanılabilir. echo Bir sayi giriniz.. read sayi echo Girilen sayi : $sayi Bazı durumlarda girilen değer özel karakterleri içerebilir. Bu durumda istenmeyen bazı sonuçların doğması kaçınılmaz olur. Aşağıdaki örneği bir dosya içine yazın ve dosyayı çalıştırdıktan sonra "*" tuşuna basın. echo Bir karakter giriniz read a echo Girdiginiz karakter : $a

3 echo komutunda n opsiyonu sizi alt satıra geçirmeden bilgi girişi/çıkışı yapmanızı sağlar. $ echo n Adınızı Giriniz: echo komutu içerisine değişken koymak mümkündür. Aşağıdaki örnekte $HOME klasörünüz ve tty komutu kabuk tarafından değerlendirilmiştir. $ echo e \007 Ev dizininiz $HOME dur, Şu an tty ya bağlısınız. Boş satır bırakmak için \n yeni satır komutunu kullanabilirsiniz, echo komutuna aynı zamanda tab ifadeside konulabilir. Sadece \ koymayı unutmamak gerekir. echo Bu yeni üç satır oluşturur \n\n\n echo OK $ echo e İşte ilk tab\tve işte ikinci tab\t\ttamammı! Bash da veri girmenin bir yoluda read komutudur. $ read name surname Serdar Mustafa Celebi $ echo $name Serdar $ echo $surname Mustafa Celebi Bununla ilgili bir kabuk programı aşağıdaki gibi yazılabilir: #!/bin/sh # var_test echo n First Name: read name echo n Middle Name: read middle echo n Last Name: read surname Yukarıdaki programı okunanları görüntüleyecek şekilde düzenleyiniz!. Çoğu zaman komutlar işleme konulduğunda, o komutun başarı ile gerçekleştirildiğini veya başarısız olduğunu bilmemiz gerekir ki bu komuta bağlı diğer komutun/komutların hangi şekilde devreye gireceğini bilelim. Komut 1 && Komut 2 && işaretinin solundaki Komut 1 başarı ile çalıştırıldığında (true değerini alır) sağ taraftaki Komut 2 çalıştırılmaya başlanır. $ cp myfile.doc myfile.txt && echo Eğer bu mesajı görüyorsanız cp komutu doğru çalışmıştır $ mv /apps/bin /apps/dev/bin && rm r /apps/bin Komut 1 Komut 2

4 Bu komutta durum ters çalışır. Şöyleki, eğer Komut 1 çalışmadığında Komut 2 devreye girer. $ cp myfile.doc myfile.txt echo Eğer bu mesajı görüyorsanız cp komutu doğru çalışmamıştır Eğer birden fazla komutu grup olarak bir defada çalıştırmak istiyorsak, kabuk bize bunu iki metod ile yapmamızı mümkün kılar. Bu komut grubu ya mevcut kabuk üzerinde çalışır yada alt kabuk da çalıştırılır. Mevcut kabuk üzerinde bir grup komutu çalıştırmak istediğimizde her komutu birbirinden ; işareti ile ayırıp, ( ) içerisine almak gerekir. (Komut 1 ; Komut 2 ;...) Bir komutu alt kabukta çalıştırmak istediğimizde, {Komut 1 ; Komut 2 ;... } Belirli bir kelimeyi bir text dosyası içinde araştırmak istediğimizde grep komutu devreye girer. $ grep sort *.doc $ grep sort it * Yukarıdaki örneklerden ilkinde sort kelimesi.doc dosyalarında, sort it kelimesi tüm dosyalarda aranacaktır. $ grep c 48 data.f Bu komutla data.f dosyasında 48 rakamı içeren satır sayısı görüntülenir. Kabuk programlamada her tip tırnak atomunun (atom: bir programlama dilinin ayrılmaz en küçük parçası; örnek olarak && iki karakterden oluşsa da, AND mantıksal ifadesini gösteren tek bir atomdur ve ayrı yazılamaz) farklı anlamlara geleceğini bilmeliyiz: $MTVAR = /dev/hda* $echo $MYVAR /dev/hda* $echo $MYVAR /dev/hda /dev/hda1 /dev/hda2 /dev/hda5 /dev/hda7 İlk örnekte gösterilen çift tırnaklı atomda değişken atanan değerin içeriğine sahip değildi ve gösterildiği şekli ile korundu. İkincisinde değişkene atanan değerin işlevi gerçekleştirilmiş oldu. Değer bir yerel değişken atama şekli ise : ${variable:-value} (burada variable a bir değer atanmış ise o değer kullanılır.) $ COLOUR = blue $echo The sky is ${COLOUR:-grey} today The sky is bule today $ COLOUR = blue $ unset COLOUR $ echo The sky is ${COLOUR:-grey} today

5 The sky is grey today Sistem komutlarını tutmak için değişkenler kullanılabilir. $ SOURCE = /etc/passwd $ DEST = /tmp/passwd.bak $ cp ${SOURCE} ${DEST} Konuma Bağlı Değişken Parametreleri : Kabuk betiğine herhangi bir bilgiyi yollamak istediğimizde bunu konumsal parametre kullanarak yapabiliriz. Parametreler 1 den başlayıp 9 a kadar devam eder. Ulaşmak istediğimiz herhangi bir parametre başında $ işareti yer alır. İlk parametre 0 ile başlayıp parametre betik adını alır. Örneğin <<Did you see the full moon>> yazısını bir betiğe geçirmek istediğimizde: $0 $1 $2 $3 $4 $5 $6 $7 $8 $9 Betik adı Did you see the full Moon #parametre echo Bu betik adidir :$0 echo Bu ilk parametredir :$1 echo Bu ikinci parametredir :$2 echo Bu üçüncü parametredir :$3 echo Bu dokuzuncu parametredir :$9 Program şu şekilde çalışacaktır: $Did you see the Full Moon Bu betik adidir :./ parametre Bu ilk parametredir :Did Bu ikinci parameterdir :you Bu üçüncü parametredir :see Bu dördüncü parametredir :the Bu beşinci parametredir :Full Bu altıncı parametredir :Moon Parametrik sistem komutlara da geçebilir : # Dosya Bul find / - name $1 print $Dosya Bul passwd /etc/passwd /etc/uucp/passwd /usr/bin/passwd

6 Özel kabuk değişkenleri : $# Betiğe geçirilen argüman sayısı $* Betiğe geçirilen tüm argümanları tek bir string (process ID) olarak gösterir. $$ Çalışmakta olan betiğin o anki PID sini verir. $! Geri plana atılan son proses için PID sini verir. Gerçekte $# ile aynıdır, eğer tırnak işareti ile kullanılırsa her argümanda tırnak işareti içerisinde geri döner. $? Son komutun çıkış durumunu gösterir. Eğer o ise hata yok diğerlerinde hata vardır. Kabukta kullanılan tırnak işaretleri : çift tırnak tek tırnak grave veya geri tırnak \ back slash tek tırnak çift tırnağa çok benzer olup tek farkı kabuğa tek tırnak içerindeki herhangi bir değer hesaplanmasını ihmal etmesini söyler. $ GIRL = girl $ echo = The $GIRL did well The girl did well Geri tırnak değişkeni, sistem komutlarından değişkenlere bir değer atanması söz konusu olduğunda kullanılır : $ echo hello sh: hello. commanda not found $ echo date Sun May16:40:19 GMT 1999 $echo The date today is date The date today is Sun May 16 16:40:19 GMT 1999 $echo There are who \ we -1 users on the system There are 13 users on the system \ (back slash) : Sonraki karakterin eğer kabuk için özel bir anlamı varsa bunun yanlış yorumlanmasını engeller. Örneğin, o anki PID yi görüntüleyen $$ komutu için : $ echo $$ 284 $ echo \$$ $$ Oktal karakterleri görüntülemede de kullanılır. $ echo This is copyright 251 sign

7 This is copyright \251 sign $echo e This is copyright \251 sign This is copyright sign $ expr 12 \* $echo e Bu video \$19,99 dır Bu video $19,99 dır. Kabuk Betiğinin Çalıştırılması : # name: cleanup # This is general cleanup script echo Starting cleanup wait rm /usr/lcoal/apps/log/*.log tail -40 /var/adm/message > /tmp/message rm /var/adm/messages mv /tmp/messages /var/adm/messages echo finished cleanup $ chmod u+x cleanup $ cleanup (Eğer bir hata oluşuyorsa) $./cleanup (Eğer hala çalışmıyorsa) Bu durumda /bin klasörünü ev dizinimize ilave etmemiz gerekecek : $ pwd $ /home/mscelebi/bin.profile dosyasını düzenleyelim : PATH = $ PATH : $HOME / bin Eğer bin klasörü yoksa ilave edelim : $ cd $HOME $ mkdir bin Yeniden.profile dosyasını aktive edelim : Şartlı Test : $../profile Bir dosyanın durumunu test etmek : veya test şart [ şart ] Köşeli parantezin sağında ve solunda birer boşluk bırakıldığına dikkat edin!!! Test komutunun aritmetik işlemlerde kullanımı ile ilgili bilgi ise ileride verilecektir.

8 7.4 Aritmetik İşlemler bash kabuğunda matematiksel işlemlere büyük sınırlamalar getirilmiştir. Tamsayı değişkeni dışında matematiksel değişken kullanmak için bu işlemler için geliştirilmiş ve kolaylıklar sağlayan awk veya bc yi kullanabilirsiniz. Aritmetik işlemler için eval komutunu veya bash kabuğu altında yerleşik (built in) komut olan let komutunu kullanabilirsiniz. Aşağıda let komutunun kullanımı görülüyor. let "degisken=aritmetik islem" Bu örnekte iki sayı çarpılıp çıkan sonuç başka bir değişkene yazılıyor. $ let "carpim=2*7" $ echo $carpim Aritmetik değişken tanımlamanın diğer bir yolu da typeset komutu kullanmaktır. $ typeset -i sonuc (sonuc degiskeni bir dogal sayi icerecek) $ a=100 ; b=56 (iki komutu ayirmak icin ; kullanilabilir) $ sonuc=a*b $ echo $sonuc if-else Kalıbı ve Kontrol İşlemleri Hemen her programlama dilinde olan if kalıbı bir Linux komutunun çalışmasını kontrol eder. if komutu yerleşik bir komuttur ve her if, bir fi komutuyla bitmelidir. 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. Aşağıda if-else-then komutunun örnek sözdizimi görülüyor. if linux komutu then komut1 komut2... else komut1 komut2... fi grep komutu kullarak bir örnek yapalım: # grepif

9 if grep Dave\> data.file > /dev/null 2>&1 then echo Great, Dave is in the file else echo No Dave is not in the file fi $ grepif No Dave is not in the file Eğer match başarılı olsaydı, grep 0 değeri verecekti. 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 seçenekler ve/veya karşılaştırılacak olan değerler yazılır. Her seçenek bir mantıksal işleme karşılık gelir. Örneğin -lt seçeneği ilk girilen aritmetik değişkenin ikinci değerden küçük olup olmadığını denetler. Benzer şekilde = seçeneği de 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 gönderilir. 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 Basit Bir Güvenlik Giriş Betiği : Aşağıda kullanıcı sisteme girdiğinde uygulama programınızı devreye almadan önce ilave bir güvenlik oluşturma işlemi verilmiştir. Önce kullanıcı ismi ve parola sorulmaktadır, eğer kullanıcı ismi ve parola betikte verilen parola ile benzeşirse kullanıcı girer, benzeşmez ise kullanıcı giremez. $ pg ifpass # ifpass # set the variable to false INVALID_USER = yes INVALID_PASSWD = yes # save the current stty setting SAVEDSTTY = stty g echo you are logging a sensetive area echo -n Enter your ID name: read NAME # hide the characters type in stty echo echo Enter your password : read PASSWORD #back on again stty $SAVEDSTTY

10 if [ $NAME = dave ] [ $NAME = pauline ]; then #if a valid then set variable INVALID_USER = no fi if [ $PASSWORD = mayday ]; then # if valid password then set variable INVALID_PASSWD = no fi if [ $INVALID_USER = yes o $INVALID_PASSWD = yes ]; then echo basename $0 : Sorry wrong password or userid exit 1 fi # if we get here then their ID and password are OK. echo correct user id and password are given Yukarıdaki betik yanlış bir password verilerek çalıştırıldığında : $ ifpass Your are logging into a sensetive area Enter your ID name : dave Enter your password : ifpass : Sorry wrong password or userid Doğru bir kullanıcı ismi ve password verilerek çalıştırıldığında : $ ifpass You are logging into a sensetive area Enter your name : dave Enter your password : Correct user id and password given 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ırmalar : -gt -lt -ge -le -eq -ne büyük küçük büyükeşit küçükeşit eşit eşit değil Dizisel karşılaştırmalar : -z boşdizi -n tanımlı dizi

11 = eşit diziler!= farklı diziler Dosya karşılaştırması : -d bu bir klasördür -l bu bir sembolik link tir -u bu dosyanın suid i vardır. -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 Örnekler: $ test w scares.txt $ [ -w scares.txt] $ echo $? $ echo $? 0 0 Her iki değerde de sıfırdır ve bu dosyanın yazılabilir olduğunu gösterir. $ [ -x score.txt ] $ echo $? 1 ( dosya çalıştırılamaz) Mantıksal karşılaştırmalar : -a VE -o VEYA! DEĞİL Bir örnek : $ [ -w results.txt a x results.txt] $ echo $? 0 (results.txt dosyası hem çalıştırılabilir hemde yazılabilir) if komutunun test ile birlikte kullanılabildiğini daha önce belirtmiştik. Aşağıda bununla ilgili küçük bir örnek yer alıyor: #!/bin/bash echo "0 ile 20 arasinda bir sayi secin" read sec if [ $sec -lt 10 ] then echo "Secilen sayi tek basamakli"

12 fi else echo "Secilen sayi cift basamakli" 7.6 case Kalıbı Birkaç alternatif arasından seçim yapmak için kullanılan bir komut olan case, bir eşleştirme gördüğü anda belirli bir komut kümesini işleme sokar. Case yapısı case komutu ile başlar, eşleştirilecek olan anahtar sözcük yazılır ve seçenekler alt alta, her seçeneğe ait olan komutlarla birlikte belirtilir. Tüm yapı esac komutu ile son bulur : case anahtar-sözcük in seçenek1) komutlar seçenek2) komutlar *) komutlar esac Seçenekler arasında özel karakterler (*, [],? gibi) kullanılabilir. Hiçbir eşleme yapılmadığı zaman *) seçeneği değerlendirilecek ve buna bağlı olan komutlar işletilecektir. * kullanımı isteğe bağlıdır. Aşağıda case komutuna ilişkin kısa bir örnek veriliyor. #!/bin/bash clear echo echo echo "1. ekrani temizle" "2. sistemdekileri goruntule" "3. dizindeki dosyalari goster" echo -n "Secenegi giriniz : " read secenek case $secenek in 1) clear 2) w 3) ls -al *) echo Hatali secenek esac Bu özel karakterlerin anlamları şunlardır: * herhangi bir karakter? herhangi tek karakter [..] herhangi karakter (bir sınıf veya aralıkta) sembolü ( or komutu yerine) kullanılarak belirli bir pattern oluşturabiliriz.

13 Örneğin; vt100 vt102 vt100 veya vt102 anlamına gelecektir. Şimdiki örnekte belirli bir terminal tipi getirilerek kontrol yapılmasını inceleyeceğiz: Bu örnekde kullanıcının terminal tipini girmesi sorulacaktır. Eğer kullanıcı vt100 veya vt102 girerse case patern ninde bir benzeşim olacaktır. case yapısı dışında TERM değişkeni export edilecektir. $ pg caseterm #caseterm echo choices are.. vt100, vt102, vt220 echo n enter your terminal type: read TERMINAL case $TERMINAL in vt100 vt102) TERM = vt100 vt100 vt220) TERM = vt220 *)echo basename $0 : Unknown response >&2 echo setting it to vt100 anyway, so there TERM = vt100 esac export TERM echo Your terminal is set to $TERM Betik çalıştığında ve geçersiz bir terminal tipi verdiğimizde: $ caseterm choice are.vt100, vt102, vt220 enter your terminal type : vt900 caseterm : Unknown response setting it to vt100 anyway, so there Your terminal is set to vt100 Doğru bir terminal tipi verdiğimizde : $ caseterm choices are. Vt100, vt102, vt220 enter your terminal type : vt220 Your terminal is set to vt220 $pg caseans #caseans echo -n "Do you wish to proceed [y n]: " read ANS case $ANS in y Y yes Yes) echo "yes is selected" n N) echo no is selected exit 0 #no error so only use exit 0 to terminate *) echo " 'basename $0' : Unknown response" >&2 exit 1

14 esac # if we are here then a y Y yes Yes was selected only. Geçerli olmayan bir girişle çalıştırdığımızda : $ caseans Do you wish to proceed [y..n] :df caseans : Unkown response Ve geçerli bir giriş ile çalıştırdığımızda: $ caseans Do you wish to proceed [y..n] :y yes is selected 7.7 Döngüler Diğer hemen tüm programlama dillerinin en büyük gücü olan döngü işlemlerine kabuk altında da izin verilmektedir. Burada programcı tarafından en çok kullanılan iki döngü tipi anlatılacaktır: while ve for. while komutu her döngüde bir denetleme mekanizmasını harekete geçirirken, for döngüsü daha değişik bir mantıkla çalışır while-do Döngüsü Döngü bloğu while anahtar kelimesiyle başlar, ardından gelen koşul sağlandığı sürece döngü işletilir. Önce koşulun sağlanıp sağlanmadığına bakılır. Döngüden çıkabilmek için mutlaka döngü içindeki koşul ifadesinin değerini yanlış yapacak bir durum oluşmalıdır, aksi halde sonsuz döngü oluşur. while ko ul ifadesi do komutlar if komutuyla birlikte kullanılan test komutu, while döngüsünde koşul ifadesi olarak da yer alabilir. Aşağıda 1'den 100'e kadar sayan ve ekrana basan bir döngü görülüyor: #!/bin/bash deger=0 while [ $deger -lt 100 ] do deger=$((deger+1)) echo $deger Yukarıda kullanılan ((... )) karakterleri arasına matematiksel bir işlem getirilebilir. Bu özellik bash kabuğuna özgüdür for-do döngüsü

15 Bir liste dahilindeki tüm değerlere sırayla erişimi sağlar. for komutundan sonra yer alan liste sırayla kullanılır ve herbirisi için döngü çalıştırılır. Listenin sonuna gelindiğinde ise döngüden çıkılır. for degisken1 in deger1 deger2... degerx do komutlar Aşağıdaki örnek bu döngüyü kullanarak ekrana bir dizi kelime yazıyor. Döngü boyunca akasya, elma ve visne kelimeleri "agac" değişkenine kopyalanıyor ve her döngüde bu değişkenin içerdiği bilgiler ekrana yazılıyor. for agac in akasya elma visne do echo $agac for-do döngüsü, dosya isimleri üzerinde yapılan işlemlerde de büyük kolaylıklar sağlar. Bunun için özel karakterlerden yararlanmak da olasıdır. Örnek olarak * karakteri o anki çalışma dizini içindeki tüm dosyaları seçer. for a in *.pl ; do file $a Birkaç başka örnek: (1) # for_i for loop in do echo $loop Çalıştırdığımızda: $ for_i (2) #forls for loop in ls do echo $loop $forls (3) Dosyaların kopyalanması # forcp BAK =.bak

16 for loop in ls do echo Copying $loop to $loop$bak cp $loop $loop$bak until-loop döngüsü Until ko u l...komutlar... Aşağıdaki betik root un sisteme girmesini bekler, root sisteme girer girmez kullanıcı Serdar a mail yollanır. #until_who IS_ROOT = who grep root Until [ $IS_ROOT ] do sleep 5 echo Dikkat et root sisteme girdi mail Serdar

KABUK PROGRAMLAMA (shell programming- scripting)

KABUK PROGRAMLAMA (shell programming- scripting) KABUK PROGRAMLAMA (shell programming- scripting) 2 Kabuk Programlamaya Giriş Her kabuğun kendine özgü programlama dili yapısı vardır. Bash kabuğu ise güçlü programlama özellikleriyle karmaşık programların

Detaylı

Komut Penceresi ile Çalışmaya Başlamak

Komut Penceresi ile Çalışmaya Başlamak Komut Penceresi ile Çalışmaya Başlamak Gökhan SELAMET Terminal Penceresi / CLI Nasıl Açılır Standart Olarak Bilgisayar Adı Bulunduğu Dizin Kullanıcı Yetki Klasör Sistemi Terminalde çalışırken üç önemli

Detaylı

Linux Dosya Yapısı. Eren BAŞTÜRK.

Linux Dosya Yapısı. Eren BAŞTÜRK. Linux Dosya Yapısı Eren BAŞTÜRK basturkeren@gmail.com Giriş Kernel Derleme Ramdisk oluşturma /dev/shm Aygıtı Kabuk Programlama Dosya Türlerinin Sisteme Yüklenmesi Linux Dosya Yapısı Giriş Kernel Derleme

Detaylı

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ BİLGİ İŞLEM MSGSU FİZİK BÖLÜMÜ DERS 3 Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ TEMEL LINUX KOMUTLARI Bütün işletim sistemlerinde grafik arayüz yardımı herhangi bir komut yazmadan işlemler gerçekleştirilebilir

Detaylı

Linux altında komut satırında...

Linux altında komut satırında... -Kabuk (Shell) Unix ve benzeri işletim sistemlerinde kullanıcının komut yazmasını sağlayan, bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) adı verilir. Linux da bir kullanıcı

Detaylı

Linux'ta Kabuk ve Kabuk Programlama

Linux'ta Kabuk ve Kabuk Programlama Linux'ta Kabuk ve Kabuk Programlama Kabuk Nedir? Kabuk, kullanıcı ile bilgisayar sistemi arasındaki bir yazılım katmanıdır. Kabuk, kullanıcının hareketlerini yorumlayıp, işletim sistemini ve uygulamaları

Detaylı

Regular Expressions Version 0.1

Regular Expressions Version 0.1 Regular Expressions Version 0.1 Hüseyin Kaya hkaya@be.itu.edu.tr 2001 Özet Bu belge Linux and Unix Shell Programming adlı kitaptan faydalalınarak yazılmıştır. Kitabın yazarı David Tansley. İngilizce bilenler

Detaylı

Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos

Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos Yardım Komutları Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos Yardım Komutları man komut Parametre olarak aldığı komut hakkında bilgiyi ekranda

Detaylı

Temel Linux Komutları

Temel Linux Komutları Yrd.Doç.Dr. Murat Olcay ÖZCAN Temel Linux Komutları Linux Komut Yapısı Örnek: > ls l /home/coldfish > cd /home/coldfish Yardım Komutları Linux ta komutlar hakkında yardım

Detaylı

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr Üniversitelerde kullanılan mail sisteminin iki belirgin özelliği vardır. 1. Çok sayıda kullanıcı

Detaylı

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.) Yardım Komutları man komut Parametre olarak aldığı komut hakkında bilgiyi ekranda gösterir. man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.) Komut çalıştırıldığında uzun

Detaylı

Kabuk Programlama (Bash)

Kabuk Programlama (Bash) Kabuk Programlama (Bash) Erkan Esmer Ocak, 2013 İçindekiler 1 Giriş.................................................... 2 2 Kabuk(Shell)............................................... 3 3 Çekirdek(Kernel).............................................

Detaylı

Bash ile Programlama. Cem Ahmet Mercan. Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) 13 Temmuz 2017

Bash ile Programlama. Cem Ahmet Mercan. Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) 13 Temmuz 2017 Bash ile Programlama Cem Ahmet Mercan Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) 13 Temmuz 2017 Neden, Niye, Ne gerek var? Python daha iyi! C daha hızlı! Java her yerde... 1) Zaten yapmayı bildiğimiz

Detaylı

Bilgisayar Programlama

Bilgisayar Programlama Bilgisayar Programlama M Dosya Yapısı Kontrol Yapıları Doç. Dr. İrfan KAYMAZ Matlab Ders Notları M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine getirmek için gerekli

Detaylı

Matematiksel Operatörler

Matematiksel Operatörler Matematiksel Operatörler Genel olarak matematiksel işlemlerde kullanılan operatörlerdir. Operatör Anlamı Açıklama ^ Üs Alma C^3 Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Komutlar (Devam) ls -a > deneme (ls -a komutunun çıktısı deneme isimli. ls -a >> deneme (ls -a komutunun çıktısı deneme

Komutlar (Devam) ls -a > deneme (ls -a komutunun çıktısı deneme isimli. ls -a >> deneme (ls -a komutunun çıktısı deneme Komutlar (Devam) Komut satırında >, >> simgeleri özel anlam taşır. ls -a > deneme (ls -a komutunun çıktısı deneme isimli dosyaya yönlendirilir. Eğer dosya yoksa yaratılır, varsa da üzerine yazılır.) ls

Detaylı

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

if (ad == Sabri) Console.WriteLine(Merhaba Sabri. Ne zamandır gözükmüyodun...); Koşul İfadeleri ve Akış Kontrolü Koşul ifadeleri ve akış kontrolleri programlama dillerinde her zaman en önemli yeri tutmaktadır. Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr Üniversitelerde kullanılan mail sisteminin iki belirgin özelliği vardır. 1. Çok sayıda kullanıcı

Detaylı

Linux Dosya ve Dizin Yapısı

Linux Dosya ve Dizin Yapısı Linux Dosya ve Dizin Yapısı Dosya ve Dizin Sistemi Linux te kök dizin (/) sembolü ile ifade edilir. Windowsta kök dizin C: ise Linux ta / sembolüdür. 1 Kök dizini (/) İşletim Sisteminin çalışabilmesi için

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU Kontrol deyimleri programlamanın olmazsa olmaz koşullarındandır. Şartlara (karşılaştırma) bağlı

Detaylı

Fen ve Mühendislik Uygulamaları ile MATLAB

Fen ve Mühendislik Uygulamaları ile MATLAB Fen ve Mühendislik Uygulamaları ile MATLAB Doç. Dr. M. Akif CEVİZ Atatürk Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü M-Dosyaları Kontrol İfadeleri - İlişkisel ve Mantıksal Operatörler

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

Temel Linux Eğitimi. İçindekiler

Temel Linux Eğitimi. İçindekiler Temel Linux Eğitimi İçindekiler 1. Linux Topluluğu ve Açık Kaynak Sistemlerde Kariyer İmkanları...3 1.1 Linux tarihsel gelişim ve popüler İşletim Sistemleri...3...3...3...3 1.2 Ana Açık Kaynak Uygulamalar...3...3...3...3

Detaylı

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1 Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır.

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır. Form işlemleri

Detaylı

$ rm dosya1 dosya2 dosya3 dosya4 dosya5 dosya6 dosya7 dosya8

$ rm dosya1 dosya2 dosya3 dosya4 dosya5 dosya6 dosya7 dosya8 Joker karakterler Günlük Linux kullanımında çok defa bir operasyonu tek seferde birden fazla nesne için çalıştırmak isteyebileceğiniz (rm gibi) durumlarla karşılaşabilirsiniz. Böyle durumlarda, aşağıdaki

Detaylı

AÇIK KAYNAK İŞLETİM SİSTEMLERİ - BÖLÜM 1. Temel komutlar,dosya ve Dizin İşlemleri, Kullanıcı ve Grup İşlemleri

AÇIK KAYNAK İŞLETİM SİSTEMLERİ - BÖLÜM 1. Temel komutlar,dosya ve Dizin İşlemleri, Kullanıcı ve Grup İşlemleri AÇIK KAYNAK İŞLETİM SİSTEMLERİ - BÖLÜM 1 Temel komutlar,dosya ve Dizin İşlemleri, Kullanıcı ve Grup İşlemleri https://www.youtube.com/channel/uc3bcgwoodnxga3i7oqjipta www.ayazagan.com İçindekiler LİNUX

Detaylı

FORMÜLLER VE FONKSİYONLAR

FORMÜLLER VE FONKSİYONLAR C FORMÜLLER VE FONKSİYONLAR Konuya Hazırlık 1. Excel de formül kullanmanın faydalarını açıklayınız. Formüller, bir sayfadaki verileri kullanarak işlem yapan denklemlerdir. Bir formülde, aynı sayfadaki

Detaylı

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur. Dosya Sistemi ve Çalışma Mantığı Dosya Sistemi Disk üzerindeki dosyaların düzenlenmesini ve bir işletim sisteminde dosyaların izlerinin bulunmasını sağlayan yapıya Dosya Sistemi (File System) denir. Linux

Detaylı

C Konsol ve Komut Satırı

C Konsol ve Komut Satırı C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 M-Dosya Yapısı Bir senaryo dosyası (script file) özel bir görevi yerine getirmek

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi

Detaylı

PBS Betiği Hazırlama ve PBS Komutları. Feyza Eryol feyza@ulakbim.gov.tr

PBS Betiği Hazırlama ve PBS Komutları. Feyza Eryol feyza@ulakbim.gov.tr PBS Betiği Hazırlama ve PBS Komutları Feyza Eryol feyza@ulakbim.gov.tr İçerik TR-Grid Altyapısı PBS Betik Dili PBS Seçenekleri PBS Betiğinin Hazırlanması PBS Komutları Uygulamalar TR-Grid Altyapısı - I

Detaylı

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK MATLAB de Bilgisayar Programlama Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

Detaylı

Pardus ta Komutlarla Çalışmak

Pardus ta Komutlarla Çalışmak KONSOL KOMUTLARI Pardus ta Komutlarla Çalışmak Pardus üzerinde şu ana kadar tüm işlemlerimizi grafik ara yüz ile fare ve klavyeyi kullanarak gerçekleştirdik. Şimdiye kadar yaptığımız tüm işlemler ve daha

Detaylı

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ Değişkenler PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ C# Programlama Dili Giriş Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan

Detaylı

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ BİLGİSAYAR PROGRAMLAMAYA GİRİŞ 5. ders notu Örnek program yazılımları İlişkisel operatörler Mantıksal operatörler Şartlı deyimler İf deyimi Kaynak: Dr.Deniz DAL ders sunumları Örnek : Dışarıdan girilen

Detaylı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB What is a computer??? Bilgisayar Programlama MATLAB M-dosya yapısı Kontrol yapıları Prof. Dr. İrfan KAYMAZ What M-dosya is a computer??? yapısı Bir senaryo dosyası (script file) özel bir görevi yerine

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

Detaylı

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB BİLGİSAYAR PROGRAMLAMA MATLAB Arş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? 1. Matlab ve Programlama Ortamı 2. Matlab Komut Penceresi 3. Matlab de değişken tanımlama 4.

Detaylı

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ ( BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi 2018-19 Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (e-mail: edemir@sirnak.edu.tr ) 04.10.2018 1 MATLAB da Workspace ve Workspace

Detaylı

Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır.

Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır. Genel amaçlı komutları Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır. help Kabuk komutlarının listesini gösterir. Bu komutların herbiri için help komut_ismi

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ Yrd. Doç. Dr. Fatih TOSUNOĞLU Erzurum Teknik Üniversitesi Mühendislik Fakültesi İnşaat Mühendisliği Bölümü DERS NOTU 3 KONU: M-dosya yapısı ve Kontrol Yapıları M-Dosya Yapısı

Detaylı

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar Bölüm 5 Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar İçindekiler 5.1 Formatlı Yazdırma............................ 34 5.2 Döngü Deyimleri............................. 34 5.2.1

Detaylı

Klavyeden Basit Giriş/Çıkış İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada

Detaylı

C Dersleri Bölüm 3 : Program akışı

C Dersleri Bölüm 3 : Program akışı İzmir Ekonomi Üniversitesi Bilgisayar Topluluğu www.ieubt.org C Dersleri Bölüm 3 : Program akışı Sorularınız için : programlama@ieubt.org Hazırlayan : Görkem PAÇACI (gorkem.pacaci@std.ieu.edu.tr) C Program

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

İşletim Sistemleri. İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com.

İşletim Sistemleri. İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri Dr. Binnur Kurt binnur.kurt@gmail.com Omega Eğitim ve Danışmanlık http://www.omegaegitim.com 1 S a y f a İÇİNDEKİLER 1. İşletim Sistemi 2. 3. Prosesler 4. İplikler 5. İplikler Arası

Detaylı

Yrd. Doç. Dr. A. Burak İNNER

Yrd. Doç. Dr. A. Burak İNNER Yrd. Doç. Dr. A. Burak İNNER Kocaeli Üniversitesi Bilgisayar Mühendisliği Yapay Zeka ve Benzetim Sistemleri Ar-Ge Lab. http://yapbenzet.kocaeli.edu.tr Li u Ko ut Satırı Arayüzü(CLI), yüzlerce komutla çok

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

Temel Excel Kullanım Bilgisi

Temel Excel Kullanım Bilgisi Temel Excel Kullanım Bilgisi Excel Fonksiyonları Başlangıç Microsoft Excel in en zevkli olan formül kısmı hakkında kısa kısa bilgileri ve bazı formüllerin nasıl yazıldığını burada bulacaksınız.

Detaylı

1. Excel Dönüşümü : 2. Rapor Master Tanımları :

1. Excel Dönüşümü : 2. Rapor Master Tanımları : Programın Amacı : Bu Program As/400 Sistemindeki herhangi bir veya birden fazla file ı kullanarak istenilen şekilde sorgulama yaparak elde edilen bilgileri Excel Formatında Pc deki istenilen bir yere kaydetmek.

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

Detaylı

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları 8- Turbo Pascal Programlama İle Dosya İşlemleri Dosya işlemleri bilgisayar programlamada verilerin tekrar kullanılması açısından çok önemlidir. Yazılan bilgisayar programlarında elde edilen sonuçlar eğer

Detaylı

Shell(Bash,sh, zsh,) Programming- Kabuk Programlama

Shell(Bash,sh, zsh,) Programming- Kabuk Programlama dostaki bat dosyasi gibi çalışabilir dosyalar oluşturma Linux altında hızlı ve pratik programlama yapmanın en kısa yolu shell(kabuk) programlamadır diyebiliriz. İşletim sisteminin doğal komutlarını çalıştırma

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

İnternet Programcılığı Dersi 2.Dönem Ders Notu

İnternet Programcılığı Dersi 2.Dönem Ders Notu İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı

Detaylı

GELİŞMİŞ DÜZEY BASH BETİK PROGRAMI

GELİŞMİŞ DÜZEY BASH BETİK PROGRAMI GELİŞMİŞ DÜZEY BASH BETİK PROGRAMI Yazar: Mendel Cooper Telif Hakları "Gelişmiş Bash-Betikleme Kılavuzu" Mendel Cooper tarafından yazılmıştır, 2000 Her hakkı saklıdır. Bu belge sadece, Açık Yayın Lisansında

Detaylı

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015 Excel Formüller ve Fonksiyonlar Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015 Excel de Yapabileceklerimiz Temel aritmetik işlemler (4 işlem) Mantıksal karşılaştırma işlemleri (>,>=,

Detaylı

1. LabVIEW ile Programlama

1. LabVIEW ile Programlama 1. LabVIEW ile Programlama LabVIEW ile programlama mantığı, program kodu yazılan programlama mantığına benzemekle birlikte, kontrol adı verilen nesneler arasında veri yolu bağlantısı ile program akışı

Detaylı

Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur?

Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur? STRİNG (KARAKTER) İŞLEMLERİ Python'da karakter dizilerini ifade etmek için yapmamız gereken tek şey, ifademizi tırnak ("") içinde belirtmektir. Python'da tırnak içerisinde belirtilen her şey karakter dizisi

Detaylı

PROGRAMLAMA DİLLERİ I

PROGRAMLAMA DİLLERİ I PROGRAMLAMA DİLLERİ I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Öğr. Gör. M. Mutlu YAPICI Hafta 1. Hafta 2. Hafta 3. Hafta 4. Hafta 5. Hafta 6. Hafta 7. Hafta

Detaylı

Autofs. Hüseyin Kaya hkaya@be.itu.edu.tr

Autofs. Hüseyin Kaya hkaya@be.itu.edu.tr Autofs Hüseyin Kaya hkaya@be.itu.edu.tr 30 Eylül 2001 İçindekiler 1 Kurulum 2 1.1................................... 2 2 Konfigürasyon Dosyaları 3 3 Uygulama 4 3.1 Kullanıcı Dizinlerinin Düzenlenmesi...............

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama BÖLÜM 11: : Birçok programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. Bütün programlama dillerinde, sabit disk sürücüsü (Hard Disk Drive, HDD) üzerindeki verileri okumak veya diske veri

Detaylı

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir. PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri ORACLE DA KÜRSÖRLER Gerekli sistem değişkenleri SQL%ISOPEN : kürsör açıksa değeri true, kapalı ise değeri false SQL%ROWCOUNT : sql ile işlem gören kayıt sayısı bulunur. SQL%FOUND : sql işlemi sonucu, en

Detaylı

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır. DOSYALAMALAR Programlama bilgilerin her zaman ekrana yazdırılması veya değişkenlerde tutulması yeterli olmayabilir. Programın çalışması sonucu girilen yada hesaplanan her bilgi manyetik ortama programda

Detaylı

ÜNİTE 9 ÜNİTE 9 MICROSOFT EXCEL - II TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER

ÜNİTE 9 ÜNİTE 9 MICROSOFT EXCEL - II TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER ÜNİTE 9 MICROSOFT EXCEL - II BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ İÇİNDEKİLER Çalışma sayfasına yeni nesneler eklemek Veriler ile ilgili işlemler Grafikler ler Sıralama Yapmak Filtreleme Yapmak

Detaylı

CHAPTER 3. ZAMANLANMIŞ GÖREVLER (Automated Tasks)

CHAPTER 3. ZAMANLANMIŞ GÖREVLER (Automated Tasks) CHAPTER 3 ZAMANLANMIŞ GÖREVLER (Automated Tasks) 3.1 Zamanlanm ış Görevler Linux ta belirli aralıklarla yapılması gereken görevler, zamanı gelince otomatik olarak çalıştırılacak şekilde yapılandırılabilir.

Detaylı

GOLDMESAJ SMS API DÖKÜMANI

GOLDMESAJ SMS API DÖKÜMANI GOLDMESAJ SMS API DÖKÜMANI 1. GENEL 2. VERİ ALANLARI 3. LOGİN 4. ŞİFRE DEĞİŞTİRME 5. ALFANUMERİK 6. SMS GÖNDERİMİ 7. GÖNDERİ RAPORLARI 8. SMS RAPORU 9. KREDİ SORGULAMA 10. ÇOKLU GÖNDERİM 11. KULLANICI

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Veri Yapıları ve Algoritmalar

Veri Yapıları ve Algoritmalar 1 Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Veri Yapıları ve Algoritma Temelleri Yazar: Dr. Sefer KURNAZ Internet Konularla ilgili web siteleri 2 Algoritma : «Belirli bir problemin çözümünde

Detaylı

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2 PROGRAMLAMA Bir problemin çözümü için belirli kurallar ve adımlar çerçevesinde bilgisayar ortamında hazırlanan komutlar dizisine programlama denir. Programlama Dili: Bir programın yazılabilmesi için kendine

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer. Döngüsü En basit döngü yapısıdır. Hiçbir kontrol yapılmadan ve ifadeleri arasındaki satırların işlem görmesi için kullanılır. Bu yapıda programın terkedilmesi için herhangi bir kontrol olmadığından, döngü

Detaylı

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir. MATRİS TRANSPOZU: Bir matrisin satırlarını sütun, sütunlarınıda satır yaparak elde edilen matrise transpoz matris denilir. Diğer bir değişle, eğer A matrisi aşağıdaki gibi tanımlandıysa bu matrisin transpoz

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI 2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki

Detaylı

BİLGİSAYAR PROGRAMLAMA VE FİZİKTE PROGRAMLAMA DERSLERİ İÇİN MATLAB ÇALIŞMA NOTLARI. Mehmet ÖZKAN

BİLGİSAYAR PROGRAMLAMA VE FİZİKTE PROGRAMLAMA DERSLERİ İÇİN MATLAB ÇALIŞMA NOTLARI. Mehmet ÖZKAN BİLGİSAYAR PROGRAMLAMA VE FİZİKTE PROGRAMLAMA DERSLERİ İÇİN MATLAB ÇALIŞMA NOTLARI Mehmet ÖZKAN input:bu komut kullanıcıdan veri girişi istiğinde kullanılır. Etkin ve etkileşimli bir program yazımında

Detaylı

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü JAVA DÖNGÜ DEYİMLERİ Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrarlanabilir. Java da bu işi yapan üç ayrı deyim vardır: while

Detaylı

XML ile Mesaj İşlemleri

XML ile Mesaj İşlemleri Doküman JETSMS XML Mesaj İşlemleri Yardım Dokümanı Tarih 15.02.2007 Sürüm 2.5.0 XML ile Mesaj İşlemleri SİSTEM ÖZELLİKLERİ Sistem üzerinden çok yüksek sayılarda (Bir kerede 20000 gibi) farklı içerikli

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-11 Karakter Diziler Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Karakter ve String Karakter Karakter bir sabit tek tırnak

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA Muhammet BAYKARA 1 İlkel Veri Türleri Type Name Kind of Value Memory Used Size Range byte integer 1 byte -128 to 127 short integer 2 bytes -32768

Detaylı

Akış Kontrol Mekanizmaları

Akış Kontrol Mekanizmaları Akış Kontrol Mekanizmaları 1 Akış Kontrol Mekanizmaları if else switch for döngüsü for döngüsünün çalışma prensibi for döngüsüyle ilgili örnekler for döngüsüyle ilgili kurallar while döngüsü while döngüsünün

Detaylı

BÖLÜM 4 KONTROL DEYİMLERİ - 24 -

BÖLÜM 4 KONTROL DEYİMLERİ - 24 - BÖLÜM 4 KONTROL DEYİMLERİ - 24 - 4.1 İf Deyimi İnsan olarak kararlarımızı hemen hemen daima "bir şey öyle ise böyle, öyle değilse şöyle davranmak" üzere almaz mıyız? PHP programında if deyimi bunu sağlar.

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 8 Mar. 2016 PHP de Değişken Tipleri Dizi (Array) Aynı değişken içerisinde birden fazla değer tutmak

Detaylı