Bash Nedir?

Bash (Bourne Again Shell), Linux ve macOS sistemlerinde kullanılan bir komut yorumlayıcısıdır. Kullanıcının komut yazarak işletim sistemine talimat vermesini sağlar. Otomasyon, dosya yönetimi ve sistem konfigürasyonu için en yaygın shell dilidir.

1. Değişkenler ve Yazdırma

isim="Mustafa" echo "Merhaba $isim" # Çıktı: Merhaba Mustafa

2. Kullanıcıdan Girdi Alma

echo "Adınızı girin:" read ad echo "Hoş geldiniz, $ad!"

3. Karar Yapıları (if / else)

sayi=5 if [ $sayi -gt 3 ]; then echo "Sayi 3'ten büyük" else echo "Sayi 3 veya küçük" fi # Karşılaştırma operatörleri: # -eq (eşit), -ne (eşit değil) # -lt (küçük), -le (küçük eşit) # -gt (büyük), -ge (büyük eşit)

4. Döngüler

For Döngüsü:

for i in {1..5}; do echo "Sayi: $i" done

While Döngüsü:

i=1 while [ $i -le 5 ]; do echo "Adım: $i" ((i++)) done

5. Fonksiyonlar

merhaba() { echo "Merhaba $1" } merhaba "Mustafa" # NOT: Direkt merhaba Mustafa diye çağrılır

6. Dosya ve Klasör Kontrolleri

# Dosya kontrolü if [ -f "deneme.txt" ]; then echo "Dosya mevcut" else echo "Dosya yok" fi # Klasör kontrolü if [ -d "/opt/test" ]; then echo "Klasör bulundu" fi

7. Parametrelerle Çalışmak

echo "1. Argüman: $1" echo "2. Argüman: $2" # Komut satırından: # bash script.sh Ankara 2025

8. Basit Yedekleme Scripti

#!/bin/bash kaynak="/home/kali/Desktop/proje" hedef="/home/kali/backup" tarih=$(date +%Y-%m-%d) mkdir -p "$hedef/$tarih" cp -r "$kaynak" "$hedef/$tarih" echo "Yedekleme tamamlandı: $hedef/$tarih"

9. Bash Script Nasıl Çalıştırılır?

# 1. Script dosyası oluştur nano script.sh # 2. Çalıştırma izni ver chmod +x script.sh # 3. Çalıştır ./script.sh

Soru 1: Bash'te değişken tanımlamak için doğru syntax hangisidir?

  • A) var isim = "Ali"
  • B) isim="Ali"
  • C) $isim = "Ali"
  • D) declare isim = "Ali"

Soru 2: "Sayı 5'ten büyüktür" kontrolü hangi operatörle yapılır?

  • A) if [ $sayi > 5 ]
  • B) if [ $sayi -eq 5 ]
  • C) if [ $sayi -gt 5 ]
  • D) if [ $sayi >= 5 ]

Soru 3: Kullanıcıdan girdi almak için hangi komut kullanılır?

  • A) input
  • B) read
  • C) scanf
  • D) get

Soru 4: Bir bash script dosyasına çalıştırma izni vermek için hangi komut kullanılır?

  • A) chmod +x script.sh
  • B) run script.sh
  • C) execute script.sh
  • D) bash --enable script.sh

Soru 5: For döngüsünde 1'den 10'a kadar sayıları yazdırmak için doğru syntax hangisidir?

  • A) for (i=1; i<=10; i++)
  • B) for i in 1..10
  • C) for i in {1..10}; do
  • D) for i = 1 to 10

Soru 6: Bir dosyanın var olup olmadığını kontrol etmek için hangi ifade kullanılır?

  • A) if [ -e dosya.txt ]
  • B) if [ -f dosya.txt ]
  • C) if [ -x dosya.txt ]
  • D) if [ -d dosya.txt ]

Soru 7: Bash fonksiyonuna gönderilen ilk parametre nasıl alınır?

  • A) $1
  • B) $arg1
  • C) param[0]
  • D) args[1]

Soru 8: Komut çıktısını bir değişkene atamak için hangisi kullanılır?

  • A) tarih = date
  • B) tarih=$(date)
  • C) tarih = $(date)
  • D) tarih=&date

Soru 9: While döngüsünde sayı değişkenini 1 artırmak için hangisi kullanılır?

  • A) sayi++
  • B) $sayi = $sayi + 1
  • C) ((sayi++))
  • D) increment sayi

Soru 10: Bash script'inin ilk satırı (shebang) nedir?

  • A) #!/bin/bash
  • B) #!bash
  • C)
  • D) //bin/bash
Bash nedir?
Linux ve macOS'ta kullanılan komut yorumlayıcısı (shell)
Değişken nasıl tanımlanır?
isim="değer" (eşittir işaretinin yanında boşluk YOK)
-gt operatörü ne demek?
Greater than (büyüktür) - sayısal karşılaştırma
read komutu ne işe yarar?
Kullanıcıdan girdi almaya yarar
chmod +x ne yapar?
Dosyaya çalıştırma (execute) izni verir
For döngüsü syntax'ı?
for i in {1..10}; do echo $i; done
-f ne kontrol eder?
Dosyanın (file) var olup olmadığını kontrol eder
$1, $2 ne demek?
Script veya fonksiyona gönderilen parametreler
$(komut) ne yapar?
Komut çıktısını değişkene atar (command substitution)
Shebang nedir?
#!/bin/bash - Script'in hangi yorumlayıcıyla çalışacağını belirtir