“Gerçek” programlama dilleri gibi, Bash’in biraz sınırlı bir uygulamada olsa da fonksiyonel işlevleri vardır. Bir fonksiyonel işlev, bir alt programdır, bir dizi işlemi uygulayan bir kod bloğu -code block
-, belirli bir görevi gerçekleştiren bir black box
dur. Tekrar eden kodun olduğu her yerde, bir görev -task-, sadece küçük değişikliklerle işlemi tekrar ediyorsa, bir fonksiyon kullanmayı düşünün.
veya
Bu ikinci form, C programcılarının kalbini neşelendirecek (ve daha taşınabilir).
İsteğe bağlı olarak fonksiyonun açılan parantezi C’de olduğu gibi ikinci satırda görünebilir.
Bir alt program, bir görevi gerçekleştirmek için bir araya getirilmiş ve bir isim verilmiş talimatlardan oluşur. “Kod Bloğu Yığma -Chunking-“, potansiyel olarak çok karmaşık bir görevle tek bir kavram olarak başa çıkmanıza olanak tanır. Bu görevi gerçekleştirmek için bilgisayarın atması gereken birçok adım hakkında endişelenmek yerine, altyordamın adını hatırlamanız yeterlidir. Programınızın görevi yerine getirmesini istediğinizde, alt programı çağırmanız yeterlidir. Alt programlar, karmaşıklıkla başa çıkmak için önemli bir araçtır.
Bir altyordamın bazen “black box” olduğu söylenir, çünkü “içinde” ne olduğunu göremiyorsunuz (veya daha kesin olmak gerekirse, genellikle içini görmek istemezsiniz, çünkü o zaman bununla uğraşmak zorunda kalırsınız). altyordamın gizlemeyi amaçladığı tüm karmaşıklık). Elbette, dünyanın geri kalanıyla hiçbir şekilde etkileşime girmeyen bir kara kutu oldukça işe yaramaz olurdu. Bir kara kutu, dünyanın geri kalanıyla bir tür arayüze ihtiyaç duyar, bu da kutunun içindekiler ve dışındakiler arasında bir miktar etkileşime izin verir. Fiziksel bir kara kutunun dışında, basabileceğiniz düğmeler, ayarlayabileceğiniz kadranlar ve bilgileri ileri geri iletmek için kullanılabilecek yuvalar olabilir. Karmaşıklığı yaratmaya değil saklamaya çalıştığımız için kara kutuların ilk kuralına sahibiz:
Bir kara kutunun arayüzü oldukça basit, iyi tanımlanmış ve anlaşılması kolay olmalıdır. |
Şimdi, bir kara kutunun bir içi vardır - görevi gerçekten gerçekleştiren bir alt programdaki kod veya televizyon setinizin içindeki tüm elektronik parçalar. Bir kara kutunun içine onun uygulaması denir. Kara kutuların ikinci kuralı şudur:
Bir kara kutu kullanmak için, uygulaması hakkında hiçbir şey bilmenize gerek yoktur; tüm bilmeniz gereken onun arayüzü. |
Elbette bir kara kutuya sahip olmak için, ilk etapta birisinin uygulamayı tasarlamış ve inşa etmiş olması gerekir. Kara kutu fikri, hem uygulayıcının hem de kara kutunun kullanıcısının yararına çalışır. Sonuçta, kara kutu sınırsız sayıda farklı durumda kullanılabilir. Kara kutunun uygulayıcısının bunların hiçbirini bilmesine gerek yok. Uygulayıcının sadece kutunun kendisine atanan görevi yerine getirdiğinden ve dünyanın geri kalanıyla doğru bir şekilde arayüz oluşturduğundan emin olması gerekir. Bu, kara kutuların üçüncü kuralıdır:
Bir kara kutunun uygulayıcısının, kutunun kullanılacağı daha büyük sistemler hakkında hiçbir şey bilmesine gerek yoktur. |
Bir Bash fonksiyonu, aslında birçok kez çağrılabilen temel komut grubudur. Bir fonksiyonun amacı, bash betiklerinizi -bash script de denir- daha okunaklı hale getirmenize yardımcı olmak ve aynı kodu tekrar tekrar yazmaktan kaçınmaktır. Çoğu programlama diliyle karşılaştırıldığında, Bash fonksiyonları biraz kısıtlıdır.
Bu eğitim, Bash fonksiyonlarının temellerini kapsar ve onları kabuk betiklerinizde -shell scrip’te denir- nasıl kullanacağınızı gösterir.
Bir bash fonksiyon ifadesi bildirmek kolaydır. Fonksiyonlar iki farklı biçimde bildirilebilir:
|İlk fonksiyon gösterimi function name
ile başlar, ardından parantezler gelir. Bu biçim tercih edilen ve daha çok kullanılan formattır.
.
Tek sıralı gösterimde ise:
|İkinci gösterim, ayrılmış -reserved- sözcük function
ile başlar, ardından fonksiyon adı gelir.
.
Tek sıralı gösterimde ise:
Kodu satır satır inceleyelim:
hello_world
işlevinin sonunu tanımlar.Komut dosyasını çalıştırırsanız, merhaba, dünya
yazdıracaktır.
İndirmeyi başlatmak için aşağıdan bir bağlantı seçin.
Sürüm | Çıkış Tarihi | İndirme Bağlantısı |
---|---|---|
5.1 | 2020-12-06 | Bash |
Bir dizindeki pdf dosyalarının uzantıları hariç isimlerini dosya adına çeviren bash betiği aşağıdadır.
Bir dizin yolundaki dosya adlarındaki alt çizgileri düz çizgi ile değiştiren betik:
Sıkıştırımış imaj dosyalarını jpg resim formatlı hale çevirmek için;
wget https://archive.org/download/kelimemealliquran/kelimemealliquran_jp2.zip |
source: