Kabuk İşlevleri ve Yeniden Kullanılabilir Kod Parçaları
Komutları kabuğunuz için yeniden kullanılabilir, parametreli yapı taşları hâline getirmek üzere Bash işlevlerini tanımlayıp kullanın.
Kabuk İşlevleri ve Yeniden Kullanılabilir Kod Parçaları, CoddyKit'te ücretsiz bir DevOps Bootcamp 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, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Kabuk İşlevleri Neden Kullanılır
Bir kabuk işlevi, komutları tek bir ad altında gruplayarak yeniden yazmadan kullanabilmenizi sağlar.
- Komutları kopyalayıp yapıştırmaktan daha hızlıdır
- Uzun takma adlardan daha temizdir
- Takma adların aksine bağımsız değişken kabul edebilir
mkcd() {
mkdir -p "$1" && cd "$1"
}İşlev Tanımlama
En basit biçim name() { ... } sözdizimini kullanır. Süslü parantezlerin içindeki komutlar, işlevi adıyla çağırdığınızda çalışır.
greet() {
echo "Hello from a function"
}
greetİşlev Bağımsız Değişkenleri
İşlevler de betikler gibi konumsal parametreler alır: $1, $2. $# sayıyı verir, $@ ise tüm bağımsız değişkenlere genişler.
backup() {
cp "$1" "$1.bak"
echo "Backed up $1"
}
backup notes.txtDönüş Değerleri ve Çıkış Durumu
İşlevler, return N (0-255) aracılığıyla bir çıkış durumu döndürür. Bunu veri döndürmek için değil, başarı/başarısızlık kontrollerinde kullanın.
is_root() {
[ "$(id -u)" -eq 0 ] && return 0 || return 1
}
if is_root; then echo root; else echo normal; fiecho ile Çıktı Döndürme
return yalnızca bir durum kodu taşıdığından gerçek çıktı $( ) ile yazdırılır ve yakalanır.
timestamp() {
date +%Y%m%d-%H%M%S
}
name="log-$(timestamp).txt"
echo "$name"Yerel Değişkenler
Varsayılan olarak işlevlerin içindeki değişkenler genel kapsamlıdır. Bir değişkenin kapsamını işlevle sınırlamak ve kabuğunuzu kirletmemek için local kullanın.
count_lines() {
local n
n=$(wc -l < "$1")
echo "$1 has $n lines"
}Varsayılan Bağımsız Değişken Değerleri
Bir bağımsız değişken eksik olduğunda varsayılan değere dönmek için parametre genişletme ifadesi ${1:-default} kullanın.
say() {
local msg="${1:-Hello World}"
echo "$msg"
}
say
say "Custom message"İşlevler ve Takma Adlar
Takma adlar yalnızca metni yerine koyar ve konumsal bağımsız değişkenleri düzgün biçimde alamaz. İşlevler dallanabilir, döngü kurabilir ve girdiyi işleyebilir.
- Sabit bir kısayol için takma ad kullanın
- Mantığa veya bağımsız değişkenlere ihtiyaç duyduğunuzda işlev kullanın
alias ll='ls -la'
lt() { ls -la "${1:-.}" | tail -n "${2:-5}"; }İşlevleri Kalıcı Hâle Getirme
Komut isteminde tanımlanan işlevler kabuk sonlandığında kaybolur. Her oturumda kullanılabilir olmaları için bunları ~/.bashrc dosyasına ekleyin.
# Append to ~/.bashrc
extract() {
case "$1" in
*.tar.gz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*) echo "Unknown format" ;;
esac
}İşlevleri Listeleme ve Kaldırma
declare -F işlev adlarını listeler; declare -f name gövdeyi gösterir. Bir işlevi unset -f name ile kaldırın.
declare -F
declare -f greet
unset -f greetİşlevleri Birlikte Oluşturma
İşlevler diğer işlevleri çağırabilir; böylece birleşerek daha büyük araçlar oluşturan küçük, yeniden kullanılabilir parçalar elde edilir.
log() { echo "[$(date +%T)] $*"; }
deploy() {
log "Starting deploy"
log "Done"
}
deployHızlı Kontrol
Kabuk işlevleri konusundaki anlayışınızı sınayın.
Özet
Yeniden kullanılabilir kabuk işlevleri oluşturmayı öğrendiniz:
name() { ... }ile tanımlayın ve adını kullanarak çağırın- Bağımsız değişkenler için
$1,$@,$#; durum içinreturnkullanın - Değişkenlerin kapsamını
localile belirleyin, verileriechoile döndürün - Bunları
~/.bashrcdosyasında kalıcı hâle getirin vedeclare -file inceleyin
Sıkça Sorulan Sorular
“Kabuk İşlevleri ve Yeniden Kullanılabilir Kod Parçaları” dersi ücretsiz mi?
Evet — “Kabuk İşlevleri ve Yeniden Kullanılabilir Kod Parçaları” 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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Kabuk İşlevleri ve Yeniden Kullanılabilir Kod Parçaları” dersinde ne öğreneceğim?
Komutları kabuğunuz için yeniden kullanılabilir, parametreli yapı taşları hâline getirmek üzere Bash işlevlerini tanımlayıp kullanın. DevOps Bootcamp 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.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, 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.
“Kabuk İşlevleri ve Yeniden Kullanılabilir Kod Parçaları” 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 DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp 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
- İş Denetimi (bg, fg, jobs)
- Kabuk Genişletme ve Glob Kalıpları
- Takma Adlar ve Özel İstemler
- Kabuk İşlevleri ve Yeniden Kullanılabilir Kod Parçaları