Bash: Functions
Her dilde kullandığımız, tekrara düşmemek adına kullanılan en temel yapı. Fonksiyonlar, bash scriptinde aşağıdaki örnekteki gibi tanımlanabilir. function anahtar sözcüğü ardından fonksiyon adı verilir ve küme parantezi içerisinde fonksiyon tanımlanır.
#!/bin/bash
function selamVer {
echo "Hello There!"
}
selamVer # selamVer fonksiyonunu çalıştır.
> Hello There! # Expected output.
Fonksiyona argüman göndermek ise oldukça kolaydır. Fonksiyonu çağırırken, argümanlar sırayla yazılır ve fonksiyon içerisinde istenilen argümana sırayla “$1, $2, …, $n” şeklinde ulaşılabilir.
#!/bin/bash
function selamVer {
echo "Hello There, $1!"
}
selamVer "General Kenobi" # selamVer fonksiyonunu çalıştır ve "General Kenobi"yi 1. argüman olarak gönder.
> Hello There, General Kenobi! # Expected output.
Birazcık daha güzel bir script ile örneklendirelim.
#!/bin/bash
function numberThings {
i=1
for f in $@; do
echo "$i: $f"
((i++))
done
}
numberThings "The SENATE" "kenobi the high ground keeper" "Anakin the Youngling Slayer"
Burada $@ özel karakterinin görevini belirtmek gerekir. Tüm argümanlarını içeren bir dizidir. $# ise burada kullanılmıyor ama argüman dizisinin eleman sayısını verir.
> 1: The SENATE
> 2: kenobi the high ground keeper
> 3: Anakin the Youngling Slayer
