Bash Shell
Herkese merhabalar sizlere birlikte bash shell ‘, i ele alacağız. Temel amaçlarımdan biri olan konunun temelini pekiştirip uygulamalarla ilerlemek olacaktır.
Keyifli bir öğrenme sürecine başlayalım o zaman !

Neler öğreneceğiz ?
- Kernel Nedir ?
- Shell Nedir ?
- Bash shell nedir ?
- Bash Script Nedir ?
- Bash Scriptini Nasıl Tanımlarız ?
- Bash Komut Dosyasında Değişken Nasıl Tanımlanır ?
- Bash Shell Script Kullanıcıdan Input Alma
- Bash Shell Script Koşullu İfadeler
- Bash Shell Döngüler
Kernel Nedir ?
Kernel (çekirdek), işletim sisteminin temel ana bileşenidir.
Core olarak da isimlendirilebilir.
İşlemcide çalışan proseslerin yönetimi, bellek yönetimi, I/O cihazlarının
yönetimi gibi birçok temel işlevler çekirdek tarafından gerçekleştirilir.
Kısaca toparlarsak, bilgisayar açıldığı anda sistemi aktif olarak yöneten programdır.
Shell Nedir ?
Shell (kabuk) kullanıcının etkileşimde olduğu noktadır.
Core’un sağladığı servislere erişim sağlayan bir ara katmandır.
Shell katmanı, çekirdeğe kullanıcı veya uygulama arabirimlerinden gelen komutları iletmekten sorumludur.
Komut yorumlayıcısı, uygulamalar , hizmetler bu katmanda bulunur.
En çok kullanılan shell başında
tcsh, bash, ksh gelir.
Bu yazımızda biz Bash Shell’e odaklanacağız…
Bash Shell Nedir ?
Bash, Brian Fox tarafından GNU projesi için Bourne kabuğuna özgür yazılım alternatifi olarak yazılmış, Unix ve benzeri işletim sistemlerinde kullanılan komut satırı kabuğu ve bu kabuğun betik dilidir.
Bash, “Bourne-again-shell” kelimelerinin kısaltmasıyla oluşmuştur.
Kabuk etkileşimli olarak kullanıldığında $, kullanıcıdan bir komut beklerken görüntüler. Kabuk istemi denir.

Bash Script Nedir ?
Bash scripti, bash tarafından okutulup , satır satır yürütülen dosyaya yazılmış komutlar bütünüdür.
Bash Scriptini Nasıl Tanımlarız ?
Bash scriptlerini uzantısı .sh olacak şekilde adlandırırız. Her bash scripti “shebang” ile başlar. “shebang”, bash shell yolunun bütünsel bir gösterimidir.
Shebang ifadesinin bir örneği aşağıdaki gibidir.
#! /bin/bash
-Bash komut dosyası oluşturma…
touch bash_script.sh
Bash shell yolunu bul
which bash

Oluşturmuş olduğumuz dosyanın içine girip bu yolu shebang’e dahil edelim.
nano bash_script.sh
#! /usr/bin/bash
echo "Hello !"
Var olan kullanıcıya yürütme hakkı verelim.
chmod : Bu komut istenilen kullanıcı için dosyanın mevcut haklarını değiştirir.
chmod u+x bash_script.sh
bash_script dosyasını çalıştıralım!
./bash_script.sh

Bash Komut Dosyasında Değişken Nasıl Tanımlanır ?
Yukarıda oluşturmuş olduğum bash_script.sh dosyamın içine giriyorum.Birçok programlama dilinde olduğu gibi değikenlerimin sağına atama işaretini koyup, atadığım değişkenden değeri almak için echo komutunun bulunduğu satırdaki değişkenlerin önüne $ işaretini ekliyorum.
ctrl+o -> enter -> ctrl+x tuşlarına basıp dosyamdan çıkıyorum.
nano bash_script.sh
#! /usr/bin/bash
value1 = Hello
name = Şule
echo $value $name
bash bash_script.sh

Bash Shell Script Matematiksel İşlemler

Yukarıda yaptığımız işlemleri bash_script dosyasında yapmak istersek,
#! /usr/bin/bash
value=$((2**2))
echo $value
Burada çıktımız 4 değerini gösterecektir.
Bash Shell Script Kullanıcıdan Input Alma
“read” komutu kullanarak kullanıcıdan input alabiliriz.
Aşağıdaki örnekte iki kullanıcıdan iki sayı istenmiş olup toplamı çıktı olarak gösterilmiştir.
#!/bin/bash
echo "Enter a number"
read x
echo "Enter a number"
read y
var=$((x+y))
echo "sum of two numbers" $var

Bash Shell Script Koşullu İfadeler
Koşullu ifadeler bir boole ifadesi olarak gözlemlenen ifadelerdir.
Koşullu ifadeler ihtiyaçlar doğrultusunda birçok şekilde oluşturulabilir.
if … then…fi
if …then … else … fi
if … elif … else … fi
if … then … else … fi
if … then … else … if … then … fi … fi …
Koşullu ifadeler için örnek bir yapı aşağıda gösterilmiştir.
if [[ condition ]]
then
statement
elif [[ condition ]]; then
statement
else
do this by default
fi
#!/bin/bash
echo -n "Enter a number: "
read VAR
if [[ $VAR -gt 24 ]]
then
echo "The variable is greater than 24 ."
elif [[ $VAR -eq 24 ]]
then
echo "The variable is equal to 24."
else
echo "The variable is less than 24."
fi
Yukarıdaki örnekte klavyeden girilen değere uygun koşula girerek karşılaştırma işlemlerini gerçekleştirir. Girilen 66 sayısının, 24 değerinden büyük olduğunu gösteren çıktıyı alırız.
Enter a number: 66
The variable is greater than 24 .
Bash Shell Döngüler
Programlama dillerinin temel yapılarından birini oluşturan döngüler yapılacak bir işlemi tekrar tekrar yapılmasını sağlayan komutlar bütünüdür.
Bash dilinde 3 farklı döngü vardır.
- While Loop
- For Loop
- Until Loop
Bu döngülerden for ve while ele alacağız.
Bash for loop
for döngüsünün temel yapısı aşağıdaki gibidir.
for item in [val]
do
[COMMANDS]
done
Yukarıda liste olarak gösterilmiş yapı, bir sayı aralığı veya bir dizi olabilir.
#!/bin/bash
for names in Ali Betül Lina Deniz
do
echo "Names: $names"
done
Names: Ali
Names: Betül
Names: Lina
Names: Deniz
Aralıklı bir sayı verirsek,
#!/bin/bash
for i in {0..15}
do
echo "Number: $i"
done
Number: 0
Number: 1
Number: 2
Number: 3
…
…
…
Number: 14
Number: 15
for ((i = 0 ; i <= 30 ; i++)); do
echo "Counter: $i"
done
While Loop
While koşulu doğru değerlendirildiği sürece,döngü çalışır.
while [CONDITION]
do
[COMMANDS]
done
i=0
while [ $i -le 6 ]
do
echo Number: $i
((i++))
done
Number: 0
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
Number: 6
Bir sonraki yazımda görüşmek üzere.
Kendinize iyi bakın. :)
Kaynakça
Veri Bilimi Okulu Erkan Şirin MLOps Bootcamp Ön Hazırlık