Bash Shell

Şule Akçay
5 min readDec 5, 2022

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.

  1. While Loop
  2. For Loop
  3. 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

https://linuxize.com/

https://en.wikipedia.org/wiki/Bash_(Unix_shell)

https://linuxconfig.org/bash-scripting-tutorial

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Şule Akçay
Şule Akçay

Written by Şule Akçay

Bilgisayar Mühendisi | Veri Aşığı

No responses yet

Write a response