Giriş ve hatırlatma

Bash Script Yazmaya Giriş

Alex Scriven

Data Scientist

Derse giriş

Bu derste şunlar işlenecek:

  • Komut satırından Bash betiğine geçiş
  • Bash’te değişkenler ve veri türleri
  • Kontrol ifadeleri
  • Fonksiyonlar ve betik otomasyonu
Bash Script Yazmaya Giriş

Neden Bash betikleme? (Bash)

Önce, neden Bash?

  • Bash, 'Bourne Again Shell'in kısaltmasıdır (bir kelime oyunu)

  • 80’lerde geliştirildi, bugün hâlâ çok popüler. Birçok Unix sisteminde, Mac’te varsayılan

  • Unix internettir! (ML Modelleri, Veri Boru Hatları)

    • AWS, Google, Microsoft ürünleri için CLI’lar sunar
Bash Script Yazmaya Giriş

Neden Bash betikleme? (betikleme!)

Peki neden Bash betikleme?

  • Kabuk komutlarını kolay çalıştırma (her seferinde kopyala‑yapıştır yok!)
  • Güçlü programlama yapıları
Bash Script Yazmaya Giriş

Beklenen bilgi düzeyi

 

Bu ders için temel bilginiz olması beklenir.

  • Komut satırının (terminal, kabuk) ne olduğunu bilmek
  • cat, grep, sed gibi temel komutları kullanmış olmak

Paslandıysanız sorun değil — şimdi hızlıca tekrar edeceğiz!

Bash Script Yazmaya Giriş

Kabuk komutlarına hızlı tekrar

Bazı önemli kabuk komutları:

  • (e)grep regex eşleşmesine göre girişi filtreler
  • cat dosya içeriklerini satır satır birleştirir
  • tail / head yalnızca son -n satırı verir (bir bayrak)
  • wc kelime/ satır sayımı yapar (-w -l bayraklarıyla)
  • sed desenle eşleşen dize değiştirme yapar
Bash Script Yazmaya Giriş

REGEX’e kısa bir hatırlatma

'Regex' ya da düzenli ifadeler, Bash betikleme için temel bir beceridir.

Sıkça dosyaları, dosya içi veriyi, argümanları vb. filtrelemeniz gerekir. Bunu tazelemeye değer.

Regex'i test etmek için regex101.com gibi siteleri kullanabilirsiniz

Bash Script Yazmaya Giriş

Kabuk pratiği

Bazı kabuk komutlarını bir örnekle gözden geçirelim.

3 satırlık fruits.txt adlı bir metin dosyası düşünün:

banana
apple
carrot

grep 'a' fruits.txt çalıştırırsak şunu alırız:

banana
apple
carrot
Bash Script Yazmaya Giriş

Kabuk pratiği

Ama grep 'p' fruits.txt çalıştırırsak şunu alırız:

apple

Köşeli parantezler [eyfv] gibi bir eşleşme kümesidir. ^ kullanmak ters küme yapar (bu harf/rakamlar DEĞİL)

Bu yüzden grep '[pc]' fruits.txt çalıştırırsak şunu alırız:

apple
carrot
Bash Script Yazmaya Giriş

Kabuk pratiği

Terminalde muhtemelen “pipe” kullandınız. Dosyada çok fazla meyve olsaydı sort | uniq -c kullanabilirdik

  • İlki alfabetik sıralar, ikincisi sayar
  • En üstteki n meyveyi istiyorsak wc -l ve head ile pipe edebiliriz
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Bash Script Yazmaya Giriş

Haydi pratik yapalım!

Bash Script Yazmaya Giriş

Preparing Video For Download...