kabuk programlama
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 PresentationTRANSCRIPT
![Page 1: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/1.jpg)
www.linux.org.tr
Kabuk Kabuk ProgramlamaProgramlama
Kerem ERZURUMLU
Hacettepe Üniversitesi
![Page 2: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/6.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
2. Girdi/Çıktı Yönlendirmeleri
![Page 7: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/7.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
3. Pipe
» [x@y z]$ <program1> | <program2>
![Page 8: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/8.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
4.1 *
4. Metakarakterler
![Page 9: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/9.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
4.2 ?
4. Metakarakterler
![Page 10: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/10.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
4.3 ;
4. Metakarakterler
![Page 11: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/11.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
4. Metakarakterler
4.4 ^
![Page 12: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/12.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
4.5 $
4. Metakarakterler
![Page 13: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/13.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
4.6 []
4. Metakarakterler
![Page 14: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/14.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
4.7 ‘
4. Metakarakterler
![Page 15: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/15.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
4.8 “
4. Metakarakterler
![Page 16: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/16.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
4.9 `
4. Metakarakterler
![Page 17: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/27.jpg)
1. Linux ve Özgür Yazılım
Şenliğiwww.linux.org.tr
6.2 Shift, Read, Expr komutları
![Page 28: Kabuk Programlama](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062801/5681433e550346895dafb201/html5/thumbnails/33.jpg)
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ı