Linux'ta Etkili Bash Komut Dosyaları Yazmak için 10 Faydalı İpucu


Kabuk komut dosyası oluşturma, Linux'ta öğrenebileceğiniz/yapabileceğiniz en kolay programlama şeklidir. Dahası, görevleri otomatikleştirmek, yeni basit yardımcı programlar/araçlar geliştirmek için sistem yönetimi için gerekli bir beceridir.

Bu yazıda etkili ve güvenilir bash betikleri yazmaya yönelik 10 faydalı ve pratik ipucu paylaşacağız ve bunlar şunları içeriyor:

1. Komut Dosyalarında Her Zaman Yorumları Kullanın

Bu, yalnızca kabuk komut dosyalarına değil, diğer tüm programlama türlerine uygulanan, önerilen bir uygulamadır. Bir komut dosyasına yorum yazmak, sizin veya komut dosyanızı inceleyen başka birinin, komut dosyasının farklı bölümlerinin ne yaptığını anlamanıza yardımcı olur.

Yeni başlayanlar için yorumlar # işareti kullanılarak tanımlanır.

#TecMint is the best site for all kind of Linux articles

2. Başarısız Olduğunda Komut Dosyasından Çıkış Yapın

Bazen bash, belirli bir komut başarısız olsa bile bir betiği çalıştırmaya devam edebilir, bu da betiğin geri kalanını etkileyebilir (sonunda mantıksal hatalara neden olabilir). Bir komut başarısız olduğunda komut dosyasından çıkmak için aşağıdaki satırı kullanın:

#let script exit if a command fails
set -o errexit 
OR
set -e

3. Bash Bildirilmemiş Değişken Kullandığında Komut Dosyasından çıkış yapın

Bash ayrıca mantıksal bir hataya neden olabilecek bildirilmemiş bir komut dosyası kullanmayı deneyebilir. Bu nedenle, bash'a bildirilmemiş bir değişken kullanmaya çalıştığında komut dosyasından çıkması talimatını vermek için aşağıdaki satırı kullanın:

#let script exit if an unsed variable is used
set -o nounset
OR
set -u

4. Değişkenlere Referans Vermek İçin Çift Tırnak Kullanın

Referans verirken çift tırnak işareti kullanmak (bir değişkenin değerini kullanmak), kelimenin bölünmesini (boşlukla ilgili olarak) ve gereksiz genellemeyi (joker karakterleri tanıyıp genişletmek) önlemeye yardımcı olur.

Aşağıdaki örneğe göz atın:

#!/bin/bash
#let script exit if a command fails
set -o errexit 

#let script exit if an unsed variable is used
set -o nounset

echo "Names without double quotes" 
echo
names="Tecmint FOSSMint Linusay"
for name in $names; do
        echo "$name"
done
echo

echo "Names with double quotes" 
echo
for name in "$names"; do
        echo "$name"
done

exit 0

Dosyayı kaydedin ve çıkın, ardından aşağıdaki gibi çalıştırın:

./names.sh

5. Komut Dosyalarındaki işlevleri kullanın

Çok küçük komut dosyaları (birkaç satır kod içeren) dışında, kodunuzu modüler hale getirmek ve komut dosyalarını daha okunabilir ve yeniden kullanılabilir hale getirmek için işlevleri kullanmayı her zaman unutmayın.

Fonksiyon yazmanın sözdizimi aşağıdaki gibidir:

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

Tek satırlı kod için, her komuttan sonra aşağıdaki gibi sonlandırma karakterlerini kullanın:

check_root(){ command1; command2; }

6. Dize Karşılaştırmaları için == yerine=kullanın

=='nin = ile eşanlamlı olduğunu unutmayın, bu nedenle dize karşılaştırmaları için yalnızca tek bir = kullanın, örneğin:

value1=”linux-console.net”
value2=”fossmint.com”
if [ "$value1" = "$value2" ]

7. Değiştirme için eski 'komut' yerine $ (komut) kullanın

Komut ikamesi, bir komutu çıktısıyla değiştirir. Komut değişimi için `command` ters tırnak işaretleri yerine $ (komut) kullanın.

Bu, kabuk denetimi aracı tarafından bile önerilir (kabuk komut dosyaları için uyarıları ve önerileri gösterir). Örneğin:

user=`echo “$UID”`
user=$(echo “$UID”)

8. Statik Değişkenleri Bildirmek için Salt Okunur'u Kullanın

Statik bir değişken değişmez; bir komut dosyasında tanımlandıktan sonra değeri değiştirilemez:

readonly passwd_file=”/etc/passwd”
readonly group_file=”/etc/group”

9. ORTAM Değişkenleri için Büyük Harf, Özel Değişkenler için Küçük Harf Adları Kullanın

Tüm bash ortamı değişkenleri büyük harflerle adlandırılır, bu nedenle değişken adı çakışmalarını önlemek için özel değişkenlerinizi adlandırırken küçük harfler kullanın:

#define custom variables using lowercase and use uppercase for env variables
nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl”
perl “$nikto_file” -h  “$1”

10. Uzun Komut Dosyaları İçin Daima Hata Ayıklama Yapın

Binlerce satır kod içeren bash betikleri yazıyorsanız hataları bulmak bir kabusa dönüşebilir. Bir betiği çalıştırmadan önce sorunları kolayca düzeltmek için bazı hata ayıklama işlemleri gerçekleştirin. Aşağıda verilen kılavuzları okuyarak bu ipucunda ustalaşın:

  1. Linux'ta Shell Komut Dosyası Hata Ayıklama Modunu Etkinleştirme
  2. Kabuk Komut Dosyalarında Söz Dizimi Denetimi Hata Ayıklama Modu Nasıl Gerçekleştirilir
  3. Kabuk İzleme ile Kabuk Komut Dosyasındaki Komutların Yürütülmesi Nasıl İzlenir

Bu kadar! Paylaşacak başka en iyi bash komut dosyası yazma uygulamalarınız var mı? Cevabınız evet ise, bunu yapmak için aşağıdaki yorum formunu kullanın.