Rocky Linux 9 ile Kabuk Betiği Yazma Nasıl Yapılır? (Bash scripting)

Kabuk Betiği Nedir?
Kabuk betiği, bir dizi komutun otomatik olarak çalıştırılmasını sağlayan metin dosyasıdır. Unix ve Unix benzeri işletim sistemlerinde, bu betikler genellikle Bash kabuğu (Bourne Again Shell) kullanılarak yazılır. Kabuk betikleri, sistem yönetimi, uygulama otomasyonu ve tekrarlanan görevlerin kolaylaştırılması gibi birçok alanda yaygın olarak kullanılır.

Bash Kabuk Betiği Yazma
Bash kabuk betiği yazmaya başlamak için bir metin düzenleyici kullanarak yeni bir dosya oluşturulması gerekir. Genellikle, dosya uzantısı olarak `.sh` kullanılır. Örneğin, bir betik oluşturmak için `nano` ya da `vim` gibi bir metin düzenleyici kullanılabilir:

“`bash
nano myscript.sh
“`

Betik İçeriği
Bir bash betiği, bir ya da birden fazla komut içerebilir. Betik dosyasının en üstünde bir “hashbang” satırı bulunur. Bu satır, dosyanın hangi yorumlayıcı ile çalıştırılması gerektiğini belirtir:

“`bash
!/bin/bash
“`

Bu satırın ardından gelen satırlar, çalıştırılacak komutları içermektedir. Örneğin, terminalde “Hello, World!” mesajını yazdırmak için şu komut eklenebilir:

“`bash
!/bin/bash
echo “Hello, World!”
“`

Betiğin Çalıştırılması
Yazılan betiğin çalıştırılabilmesi için, önce dosyaya çalıştırma izni verilmesi gerekir. Bunu yapmak için `chmod` komutu kullanılabilir:

“`bash
chmod +x myscript.sh
“`

Daha sonra, betik şu şekilde çalıştırılabilir:

“`bash
./myscript.sh
“`

Değişkenler
Bash betiklerinde değişken tanımlamak mümkün olmaktadır. Değişkenler, bir değeri saklamak ve daha sonra kullanılmak üzere referans almak için kullanılır. Örneğin:

“`bash
!/bin/bash
name=”User”
echo “Hello, $name!”
“`

Bu örnekte, `name` değişkenine “User” değeri atanmış ve ardından bu değişken kullanılarak mesaj yazdırılmıştır.

Kontrol Yapıları
Bash betiklerinde kontrol yapıları kullanılarak, akışın yönetilmesi sağlanabilir. Yaygın olarak kullanılan kontrol yapılarından biri `if` ifadesidir:

“`bash
!/bin/bash
number=10
if [ $number -gt 5 ]; then
echo “$number is greater than 5”
else
echo “$number is less than or equal to 5”
fi
“`

Bu örnekte, `number` değişkeninin değeri kontrol edilmekte ve duruma göre uygun mesaj yazdırılmaktadır.

Döngüler
Bash betikleri, tekrarlayan görevler için döngü yapıları içermektedir. `for`, `while` ve `until` döngüleri yaygın olarak kullanılmaktadır. Bir `for` döngüsü örneği şu şekildedir:

“`bash
!/bin/bash
for i in {1..5}; do
echo “Number $i”
done
“`

Bu döngü, 1’den 5’e kadar olan sayıları yazdırmaktadır.

Fonksiyonlar
Bash betiklerinde fonksiyonlar tanımlanarak, kodun yeniden kullanılabilirliği artırılabilir. Bir fonksiyon tanımlamak için şu format kullanılmaktadır:

“`bash
function greet {
echo “Hello, $1!”
}
“`

Bu fonksiyonu çağırmak için ise:

“`bash
greet “User”
“`

Bu kullanımda, fonksiyon çağrılırken “User” argümanı verilmekte ve fonksiyon bu argümanı kullanarak mesaj yazdırmaktadır.

Giriş Parametreleri
Bash betikleri, komut satırından argüman almayı desteklemektedir. Bu argümanlar, `$1`, `$2`, `$3` gibi değişkenler aracılığıyla kullanılmaktadır. Örneğin:

“`bash
!/bin/bash
echo “First argument: $1”
echo “Second argument: $2”
“`

Bu betik, çalıştırıldığında komut satırında verilen ilk ve ikinci argümanları yazdıracaktır.

Hata Yönetimi
Bash betiklerinde hata yönetimi yapmak için `$?` değişkeni kullanılabilmektedir. Bu değişken, en son çalıştırılan komutun çıkış durumunu gösterir. Örneğin:

“`bash
!/bin/bash
cp file.txt /some/directory/
if [ $? -ne 0 ]; then
echo “Error: Failed to copy file.”
else
echo “File copied successfully.”
fi
“`

Bu örnekte, dosya kopyalanırken hata oluşup oluşmadığı kontrol edilmektedir.

Sonuç
Rocky Linux 9 üzerinde Bash kabuk betiklerinin yazılması ve kullanılması, sistem yönetimini kolaylaştırmakta ve tekrarlanan görevlerin otomatikleştirilmesine olanak tanımaktadır. Değişkenler, kontrol yapıları, döngüler ve fonksiyonlar gibi temel bileşenlerin bilinmesi, etkili ve işlevsel betikler yazmayı mümkün kılmaktadır. Kullanıcılar tarafından daha karmaşık işlemler için bu temel bilgilerin bir araya getirilmesi, daha verimli ve etkili otomasyon çözümleri sağlayacaktır.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR