33
www.linux.or g.tr Kabuk Programlama Kabuk Programlama Kerem ERZURUMLU [email protected] Hacettepe Üniversitesi

Kabuk Programlama

  • Upload
    rae

  • View
    51

  • Download
    1

Embed Size (px)

DESCRIPTION

Kabuk Programlama. Kerem ERZURUMLU [email protected] Hacettepe Üniversitesi. Bir ara katman Kullanıcı için bir arayüz Bir komut yorumlayıcı. Kabuk Nedir?. Program çalıştırma Girdi/çıktı yönlendirmesi Pipe işlemleri Metakarakter kullanımı Programlama dili. Kabuk Neler Yapar?. sh - PowerPoint PPT Presentation

Citation preview

Page 1: Kabuk Programlama

www.linux.org.tr

Kabuk Kabuk ProgramlamaProgramlama

Kerem ERZURUMLU

[email protected]

Hacettepe Üniversitesi

Page 2: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

Bir ara katman Kullanıcı için bir arayüz Bir komut yorumlayıcı

Kabuk Nedir?

Page 3: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

Kabuk Neler Yapar?

* Program çalıştırma* Girdi/çıktı yönlendirmesi* Pipe işlemleri* Metakarakter kullanımı* Programlama dili

Page 4: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

Kabuk Çeşitleri

sh csh ksh bash

Bourne Shell C Shell Korn Shell Bourne Again Shell

Page 5: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

1. Program Çalıştırma

» [x@y z]$ <program_adı> <argümanlar>

Page 6: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

2. Girdi/Çıktı Yönlendirmeleri

Page 7: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

3. Pipe

» [x@y z]$ <program1> | <program2>

Page 8: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

4.1 *

4. Metakarakterler

Page 9: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

4.2 ?

4. Metakarakterler

Page 10: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

4.3 ;

4. Metakarakterler

Page 11: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

4. Metakarakterler

4.4 ^

Page 12: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

4.5 $

4. Metakarakterler

Page 13: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

4.6 []

4. Metakarakterler

Page 14: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

4.7 ‘

4. Metakarakterler

Page 15: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

4.8 “

4. Metakarakterler

Page 16: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

4.9 `

4. Metakarakterler

Page 17: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

5. İleri Düzey Komutlar

5.1 cut

Page 18: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

5.2 tr

5. İleri Düzey Komutlar

Page 19: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

5.3 sort/uniq

5. İleri Düzey Komutlar

Page 20: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

5.4 xargs

5. İleri Düzey Komutlar

Page 21: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6. Programlama

Kural 1: Her programın başına hangi kabuk için yazıldığı “#!” ile belirtilmelidir.

Kural 2: Çalıştırılmadan önce çalıştırma hakkı verilmelidir.

Page 22: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.1 Kabuk Değişkenleri

6.1.1 $#

Page 23: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.1.2 $0 $1 $2 $3 … $9

6.1 Kabuk Değişkenleri

Page 24: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.1.3 $*

6.1 Kabuk Değişkenleri

Page 25: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.1.4 $?

6.1 Kabuk Değişkenleri

Page 26: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.1.5 Kullanıcı tanımlı değişkenler

6.1 Kabuk Değişkenleri

Page 27: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.2 Shift, Read, Expr komutları

Page 28: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.3 Test

» Tamsayı İşletmenleri » Dosya İşletmenleriz1 –eq z2 z1 ve z2 birbirine eşit mi?

z1 –ne z2 z1 ve z2 birbirinden farklı mı?

z1 –qt z2 z1, z2’den büyük mü?

z1 –qe z2 z1, z2’den büyük eşit mi?

z1 –lt z2 z1, z2’den küçük mü?

z1 –le z2 z1, z2’den küçük eşit mi?

-f dosya Dosya mevcut mu?

-d dosya Dosya bir dizin mi?

-s dosya Dosya mevcut ve uzunluğu sıfırdan farklı mı?

Page 29: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.4 Kontrol Yapıları

6.4.1 if … then … else

Page 30: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.4.2 case

6.4 Kontrol Yapıları

Page 31: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.4.3 for do … done

6.4 Kontrol Yapıları

Page 32: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

6.4.4 while do … done

6.4 Kontrol Yapıları

Page 33: Kabuk Programlama

1. Linux ve Özgür Yazılım

Şenliğiwww.linux.org.tr

» Diğerleri6.4.5 until6.4.6 break6.4.7 continue

6.4 Kontrol Yapıları