İşlevler, Bağımsız Değişkenler ve Yeniden Kullanılabilir Betikler
Bash betiklerinizi modüler ve sürdürülebilir hâle getirin: işlevler tanımlayın, komut satırı bağımsız değişkenlerini aktarın ve doğrulayın, değer döndürün ve birçok sunucu otomasyonu görevinde yeniden kullanabileceğiniz betikler yapılandırın.
İşlevler, Bağımsız Değişkenler ve Yeniden Kullanılabilir Betikler, CoddyKit'te ücretsiz bir Linux Server Deployment & SSH Mastery dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Linux Server Deployment & SSH Mastery öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.
Betiklerden Araçlara
Betikler yazabilir, görevleri otomatikleştirebilir ve hataları işleyebilirsiniz. Sıradaki adım, betikleri yeniden kullanılabilir hâle getirmektir: bağımsız değişkenleri kabul eden işlevlerde düzenlenmiş kod sayesinde tek bir betik birçok duruma hizmet edebilir.
Geçici betikler bu şekilde gerçek yönetici araçlarına dönüşür.
İşlev Tanımlama
Bash işlevi, komutları bir ad altında gruplandırır. Bir kez tanımlayın, birçok kez çağırın. Gövde, süslü parantezlerin arasına yazılır.
greet() {
echo 'Hello from the function!'
}
greetİşlevlere Bağımsız Değişken Aktarma
İşlevler bağımsız değişkenleri konumsal olarak alır: $1, $2 ve bu şekilde devam eder. $@ tüm bağımsız değişkenleri, $# ise sayıyı içerir.
greet() {
echo "Hello, $1! You are $2 years old."
}
greet Alice 30Betik Düzeyindeki Bağımsız Değişkenler
Aynı konumsal değişkenler betiğin tamamı için de çalışır. ./deploy.sh staging v2 komutunu çalıştırdığınızda betik $1 değerini 'staging', $2 değerini ise 'v2' olarak okur.
#!/bin/bash
ENV=$1
VERSION=$2
echo "Deploying $VERSION to $ENV"Bağımsız Değişkenleri Doğrulama
Sağlam araçlar girdilerini kontrol eder. Beklenen bağımsız değişken sayısını doğrulayın ve eksikse kullanım mesajıyla çıkın.
if [ $# -lt 2 ]; then
echo "Usage: $0 <env> <version>"
exit 1
fiİşlevlerden Durum Döndürme
İşlevler, return aracılığıyla çıkış durumu döndürür (0 = başarı). Çağıranlar bunu $? ile veya doğrudan bir if içinde kontrol eder.
is_root() {
[ "$(id -u)" -eq 0 ]
}
if is_root; then echo 'root'; else echo 'not root'; fiİşlevlerden Veri Döndürme
Gerçek verileri (yalnızca durumu değil) döndürmek için veriyi echo ile yazdırın ve komut yerine koyma ile yakalayın. Çağıran, çıktıyı bir değişkene atar.
timestamp() {
date +%Y%m%d_%H%M%S
}
NOW=$(timestamp)
echo "Backup name: backup_$NOW"Yerel Değişkenler
Varsayılan olarak Bash değişkenleri geneldir; bu da işlevler arasında hatalara yol açar. Yalıtılmalarını sağlamak için işlev içindeki değişkenleri local ile tanımlayın.
add() {
local result=$(( $1 + $2 ))
echo $result
}
echo "Sum: $(add 3 4)"Varsayılan Değerler ve Adlandırılmış Seçenekler
Parametre genişletmeyle makul varsayılanlar sağlayın ve daha kullanıcı dostu araçlar için seçenekleri ayrıştırın.
${1:-default}—$1ayarlanmamışsa 'default' kullanıngetopts—-v,-f filebiçimindeki seçenekleri ayrıştırın
ENV=${1:-staging}
echo "Target environment: $ENV"İşlev Kitaplığını Kaynak Olarak Ekleme
Paylaşılan işlevleri kendi dosyalarına koyun ve birden çok betikten source ile çağırın. Bu, yardımcıları her yerde kopyalayıp yapıştırma gereğini ortadan kaldırır.
# in lib.sh: define log(), is_root(), etc.
source ./lib.sh
log 'Starting deployment'En İyi Uygulamalar
Bakımı kolay betikler yazın:
- Mantığı küçük, adlandırılmış işlevlere ayırın
- Bağımsız değişkenleri her zaman doğrulayın ve kullanımı yazdırın
- İşlev değişkenleri için
localkullanın - Yardımcıları kaynak olarak eklenmiş bir kitaplık dosyası üzerinden paylaşın
Kısa Kontrol
Bash işlevleri bilginizi sınayın.
Özet
Artık yeniden kullanılabilir Bash araçları oluşturabilirsiniz:
- İşlevleri tanımlayın ve bunları tekrar tekrar çağırın
- Bağımsız değişkenleri (
$1,$@,$#) aktarın ve doğrulayın returnile durumu,echo+ komut yerine koyma ile veriyi döndürünlocaldeğişkenlerini vesourceile eklenen paylaşılan kitaplıkları kullanın
Bu kalıplar, tek seferlik betikleri bakımı kolay bir otomasyon araç setine dönüştürür.
Sıkça Sorulan Sorular
“İşlevler, Bağımsız Değişkenler ve Yeniden Kullanılabilir Betikler” dersi ücretsiz mi?
Evet — “İşlevler, Bağımsız Değişkenler ve Yeniden Kullanılabilir Betikler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Linux Server Deployment & SSH Mastery kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.
“İşlevler, Bağımsız Değişkenler ve Yeniden Kullanılabilir Betikler” dersinde ne öğreneceğim?
Bash betiklerinizi modüler ve sürdürülebilir hâle getirin: işlevler tanımlayın, komut satırı bağımsız değişkenlerini aktarın ve doğrulayın, değer döndürün ve birçok sunucu otomasyonu görevinde yenide… Linux Server Deployment & SSH Mastery ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Linux Server Deployment & SSH Mastery öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Linux Server Deployment & SSH Mastery, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“İşlevler, Bağımsız Değişkenler ve Yeniden Kullanılabilir Betikler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Linux Server Deployment & SSH Mastery dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Linux Server Deployment & SSH Mastery dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Bash Betik Yazımına Giriş
- Sunucu Görevlerini Otomatikleştirme
- Betiklerde Hata İşleme ve Günlükleme
- İşlevler, Bağımsız Değişkenler ve Yeniden Kullanılabilir Betikler