Kabuk komut dosyası oluşturmada Bash if ifadeleri, programcıların farklı durumlara dayalı koşullu yürütme yolları oluşturmasına izin vererek çok önemli bir rol oynar. Temel olarak ifadeler, test sonuçları, kullanıcı girişi veya sistem durumları gibi faktörleri göz önünde bulundurarak Bash komut dosyaları içerisinde kararlar almamızı sağlar. Farklı olasılıklar arasında gezinmenin bir yolu gibi.
Bash komut dosyası kullanırken, if ifadesi belirli bir yapıyı takip eder. Genellikle şu şekilde başlar:if” anahtar kelimesini, ardından değerlendirilmesi gereken koşulu, “Daha sonra” anahtar sözcüğü ve koşulun doğru olması durumunda yürütülecek bir veya daha fazla komut.
İşleri daha esnek hale getirmek için if ifadesi isteğe bağlı bir "elif"(else if) ifadesi, başlangıç koşulu yanlış olduğunda devreye girer. Ek bir koşulu test etmemize ve buna göre ilerlememize olanak tanır. Ayrıca, if ifadesi, koşullardan hiçbiri doğru değilse çalışacak isteğe bağlı bir "else" ifadesi de içerebilir.
Programcılar, if ifadelerini diğer Bash komutları ve kabuk komut dosyası oluşturma özellikleriyle birleştirerek, karmaşık görevleri ve süreçleri otomatikleştirebilecek gelişmiş komut dosyaları oluşturabilirler. Bash if ifadesi hakkında, sözdizimi, kullanım senaryoları ve örnekler de dahil olmak üzere daha fazlasını keşfetmek için burada kalın!
Bash If İfadesi Söz Dizimi
Bash sözdizimi, Bash kabuk dilinde yazılan komutların ve komut dosyalarının yapısını ve dilbilgisini yöneten kuralları ifade eder. Bash sözdizimi aşağıdakiler gibi çeşitli yapı ve öğeleri içerir:
- Komutlar: Bunlar, belirli görevleri gerçekleştirmek için kullanılan ayrı ayrı yürütülebilir programlar veya kabuk yerleşikleridir. Bash programlamayla uğraştığınız zamanın çoğunu bu güzel satırlarla geçireceksiniz.
- Argümanlar: Bunlar seçenekleri, parametreleri veya giriş verilerini belirtmek için komutlara iletilen değerlerdir. Bunları, bir komutun yürütme parametrelerini belirtmesi için ayarlanmış koşullar olarak düşünün.
- Değişkenler: Bunlar atanabilen, değiştirilebilen veya ifadelerde kullanılabilen değerleri temsil eden simgelerdir. Genellikle hem komutların hem de argümanların ilgilenmesi gereken değerleri belirlemek için kullanılırlar.
- Yönlendirme: Bu, girdileri, çıktıları veya hataları dosyalara, aygıtlara veya diğer komutlara yeniden yönlendirme işlemidir. Bunlar olmadan, komutlarınızın yanlış hedefi hedeflemesi ve kodunuzu karıştırması ihtimali yüksektir.
- Borular: Bu, bir komutun çıktısını başka bir komutun girişine bağlamak için kullanılan bir mekanizmadır. Bunlar genellikle büyük programlarda gelişmiş koşullu komut satırlarını gerçekleştirmek ve iç içe geçmiş komut satırları oluşturmak için kullanılır.
- Kontrol yapıları: Bunlar döngüler, koşullar ve işlevler gibi komutların yürütme akışını kontrol eden yapılardır. Kontrol yapısını anlamak, yeni komut satırları oluşturmanın anahtarıdır ve kodunuza başka bir derinlik düzeyi kazandırır.
- Yorumlar: Bunlar kabuk tarafından göz ardı edilen ve kodu belgelemek veya açıklamalar sağlamak için kullanılan açıklamalardır. Bunlar, özellikle grup projelerinde analiz ve hata ayıklama gerçekleştirirken önemli referans noktalarıdır.
Kabuğun komutları yorumlayıp yürütebilmesi için Bash sözdiziminin doğru yazılması gerekir. Sözdizimi hataları, kabuğun hata mesajları veya beklenmeyen davranışlar üretmesine neden olabilir.
İşte Bash if ifadesi iş başında:
if condition then command1 command2 ... commandN elif condition2 then commandA commandB ... commandC else commandX commandY ... commandZ fi
Buradaki durumda “koşul”, doğru ya da yanlış sonucu üreten bir testi ifade eder. Koşul doğru olduğunda “then” anahtar sözcüğünden sonra belirtilen sonraki komutlar yürütülür. Şimdi bunun yerine ek bir koşulu değerlendirmek istediğimizi varsayalım. Bunun için “elif” anahtar kelimesini kullanabiliriz. Başka bir olasılığı değerlendirmenin bir yolunu sağlar. Artık şartlardan hiçbiri gerçekleşmiyorsa “else” sözcüğünden sonra belirtilen komutlar devreye girer. Bir geri dönüş planı gibi. Son olarak if ifadesinin sonucunu belirtmek için “if” anahtar sözcüğünü kullanırız.
Bash İfadeleri Nasıl Çalışır?
Bash komut dosyası oluşturma söz konusu olduğunda, if ifadesi, koşullu bir testin sonucuna bağlı olarak komut dosyasının akışını yönlendirmede oldukça kullanışlı hale gelir. Amacı, bir koşulun değerlendirilmesi ve eğer doğru bulunursa belirli bir dizi komutun yürütülmesi etrafında döner.
Şimdi bir Bash betiğinde if ifadesi devreye girdiğinde olayların genellikle nasıl geliştiğine bir göz atalım. Betiğin if ifadesinde belirtilen koşulu değerlendirmesi biraz zaman alır. Koşulun doğru olduğu kanıtlanırsa, "then" bloğunda listelenen komutların uygulanma sırası kendilerine gelir.
Ancak koşulun yanlış olması durumunda kod, ek elif koşullarını değerlendirmeye devam eder. Bu koşullardan herhangi biri doğruysa ilgili elif bloğunun komutları yürütülür. If ve elif ifadelerinde belirtilen koşulların hiçbirinin doğru görünmediği durumlarda, kod bunu kabul eder ve else bloğunda belirtilen komutları yürütmeye devam eder (eğer bir else bloğu dahil edilmişse).
Temel olarak if ifadesi, bir komut dosyası içinde karar almayı kolaylaştıran bir araç olarak hizmet eder ve testin sonucuna bağlı olarak farklı yürütme yollarından geçmesine olanak tanır. Testin kendisi, bir komutun sonucu veya bir değişkene atanan değer gibi çeşitli faktörleri dikkate alabilir.
Bash If İfadesi Örneklendi
Şimdi temel teoriden çıkalım ve Bash if ifadesinin aktif kodlama geliştirmede nasıl kullanılabileceğini görelim. İşte Bash if ifadesinin nasıl çalıştığını gösteren bir örnek:
#!/bin/bash # set a variable x=5 # evaluate the variable if [ $x -gt 4 ] then echo "x is greater than 4." else echo "x is less than or equal to 4." fi
Bu örnekte if ifadesi x değişkeninin değerini değerlendiriyor. X, 4'ten büyükse, komut dosyası "x, 4'ten büyüktür" ifadesini yazdırma komutunu yürütür. X, 4'ten küçük veya eşitse, komut dosyası "x, 4'ten küçük veya eşittir" ifadesini yazdırma komutunu yürütür.
Farklı Bash If İfadelerini ve İlgili Komut Sözdizimini Öğrenmek
Artık çıplak Bash If İfadesi ve nasıl çalıştığı hakkında sağlam bir anlayışa sahip olduğunuza göre, varyasyonları ve ilgili komutları daha derinlemesine inceleyelim ve Temel If İfadeleri, İç İçe If ifadeleri, Bash If Else, If Elif Else ve Case İfadeleri hakkında daha fazlasını tek tek öğrenelim.
Temel If İfadeleri
Temel bash if ifadesiyle başlayalım. Bash'teki if ifadesi, bir koşulun doğru olup olmadığını kontrol eder ve ilgili kod bloğunu buna göre yürütür. İşte sözdizimi:
if [ condition ] then commands fi
Burada yaşadığımız durumda, script koşulu değerlendirir ve eğer doğruysa belirtilen komutlar yürütülür. Koşul yanlışsa, komut dosyası “sonra” bölümündeki bloğu çalıştırmadan bir sonraki komuta geçer.
İç İçe If İfadeleri
Yuvalanmış if ifadesi, reklam öğesi adından da anlaşılacağı gibi, başka bir if ifadesinin içinde "yuvalanmış" bir if ifadesidir. Bu iç içe geçmiş yapı, bir komut dosyası içinde daha karmaşık testlere ve analizlere olanak tanır. İşte iç içe geçmiş if ifadesinin bir örneği:
if [ condition1 ]
then
if [ condition2 ]
then
commands
fi
fi
Komut dosyasının koşul1'i ilk adım olarak değerlendirdiğini komutlarda görebilirsiniz. Koşul1'in doğru olduğu doğrulanırsa koşul2'yi değerlendirir. Koşul2 de doğruysa, komut dosyası gerekli komutları yürütür.
Bash If Else İfadeleri
Bash if else ifadesi, bir koşulun doğru veya yanlış olmasına bağlı olarak betiğiniz içinde kararlar vermenize olanak tanır ve daha gelişmiş durumsal kod yürütmeye olanak tanır. Yapı şu şekilde görünüyor:
if [ condition ] then commands1 else commands2 fi
Bu yapı, koşulun geçerli olması durumunda betiğinizin "commands1"i hızlı bir şekilde yürütmesini sağlar. Ancak koşul yanlışsa "komutlar2"yi yürütmeye geçecektir.
Elif Else İfadeleri
Bazen birden fazla koşulu ve bunların ilgili sonuçlarını dikkate almanız gerekir. if elif else ifadesi tam olarak bunu başarmanıza olanak sağlar. Aşağıdaki sözdizimine dikkat edin:
if [ condition1 ] then commands1 elif [ condition2 ] then commands2 else commands3 fi
Burada betiğiniz ilk olarak koşul1'i değerlendirir. Doğruluğu doğrulanırsa; komutları hızlı bir şekilde yerine getirecektir1. Ancak koşul1 yanlışsa komut dosyanız koşul2'yi değerlendirmeye geçer. Koşul2 doğruysa, komut2'yi yürütmeye devam eder. Ve hem koşul1 hem de koşul2'nin yanlış olduğu ortaya çıkarsa, betiğiniz, komutları3 yürüten alternatife yönelecektir.
Vaka Açıklamaları
Bash'te, diğer programlama dillerinde bulunan switch ifadesine benzer şekilde çalışan case ifadesine sahipsiniz. Bir değişkenin değerine bağlı olarak farklı komut kümelerini yürütmenin bir yolunu sağlar. Yapıya bir göz atın:
case expression in pattern1) commands1;; pattern2) commands2;; pattern3) commands3;; *) default commands;; esac
Burada kod, ifade değişkenini değerlendirir ve onu çeşitli kalıplarla eşleştirir. Bir eşleşme bulunduğunda karşılık gelen komut dizisi yürütülür. Ancak herhangi bir eşleşme bulunamazsa, varsayılan komutlar sorunsuz bir şekilde yürütülür. Yıldız işareti (*) deseni, kapsanmayan her şeyle eşleşen bir joker karakter görevi görür.
Bash Mantıksal Operatörleri
Bash if ifadesi entrikalarının bir diğer önemli kısmı Mantıksal Operatördür. Bu operatörler, birden fazla koşulu birleştirmenize olanak tanıyarak, bu birleştirilmiş koşulların doğruluğuna veya yanlışlığına göre kararlar vermenizi sağlar. Bash, if ifadelerinde kullanılmak üzere üç temel mantıksal operatörü birleştirir. Burada mantıksal operatör komutlarının üç ana tipinin örnekleri verilmiştir.
- Bash VE (&&):
if [ $age -ge 18 ] && [ "$citizen" == "yes" ]; then echo "You meet the criteria for voting." fi
- Mantıksal veya (II):
if [ "$status" == "active" ] || [ "$role" == "admin" ]; then echo "Access granted." fi
- Eşit Değil:
if(( ! $a == "true" )) then echo "a" was initially false. else echo "a" was initially true. fi
Çözüm
Bu blog yazımızda Bash if ifadeleri ve bunların nasıl kullanılacağı hakkında giriş niteliğinde bir rehber sunduk. Ayrıca kodunuzu nasıl daha düzgün ve işlevsel hale getirebileceklerini de tartıştık. Bu koşullu ifadeleri etkili bir şekilde kullanarak, karmaşık görevleri ve karar almayı gerçekleştirebilecek güçlü komut dosyaları oluşturabilirsiniz.
Linux dünyasında yeni misiniz? Bu heyecan verici yolculukta yol gösterici ışığınız olalım! Bizim Linux VPS'si Güçten ödün vermeden basitlik sunan, yeni başlayanlar için mükemmel bir başlangıç noktasıdır. Kullanıcı dostu arayüzler ve uzman desteğiyle, bir Linux sunucusunun özelliklerinden yararlanmanın her zamankinden daha kolay olduğunu göreceksiniz. İster bir web sitesi kuruyor, ister uygulamaları test ediyor, ister Linux'un geniş dünyasını keşfediyor olun, Linux VPS'miz güvenli ve sorunsuz bir ortam sağlar. Linux evrenine ilk adımlarınızı güvenle atın; Linux VPS seçeneklerimize bugün göz atın ve Linux maceranıza başlayın!
Web sitenizi veya uzak masaüstünüzü barındırmak için kendinize en ucuz fiyata ekonomik veya premium Linux VPS edinin. VPS, daha fazla verimlilik için Linux KVM üzerinde çalışır ve daha yüksek hız için NVMe SSD depolama ile güçlü donanım üzerinde çalışır.
Devamını okuSSS
Bash if ifadelerinde mantıksal operatörleri kullanabilir miyim?
Evet, gibi mantıksal operatörleri kullanabilirsiniz. '&' Ve '||' Bash if ifadelerinde. Örneğin, if [ $var -gt 0 ] && [ $var -lt 10 ]; Daha sonra … eğer kod bloğunu çalıştıracak $var 0'dan büyük ve 10'dan küçüktür.
Tek bir if ifadesinde birden fazla koşulu kullanabilir miyim?
Evet, gibi mantıksal operatörleri kullanarak Bash if'i tek bir if ifadesinde birden fazla koşulla kullanabilirsiniz. -a (VE) veya -o (VEYA) bunları birleştirmek için. Örneğin, if [ $var -gt 0 -a $var -lt 10 ]; Daha sonra … eğer kod bloğunu çalıştıracak $var 0'dan büyük VE 10'dan küçüktür.
Bash if ifadelerinde komut değiştirmeyi kullanabilir miyim?
Evet, Bash if ifadelerinde komutu içine alarak komut değiştirmeyi kullanabilirsiniz. $() veya geri tıklamalar (”). Örneğin, if [ $(whoami) == “kök” ]; Daha sonra … Geçerli kullanıcı root ise kod bloğunu çalıştıracaktır.
[[ vs [ vs ( vs ((: Bu Bash operatörleri arasındaki fark nedir?)
Kısaca [[ gelişmiş koşullu testler için kullanılır. [ temel koşullu testler için kullanılır. ( alt kabuk gruplaması ve komut yürütme için kullanılır. (( aritmetik işlemler için kullanılır.