Linux'ta Shell Komut Dosyası Hata Ayıklama Modunu Etkinleştirme


Komut dosyası, bir dosyada saklanan komutların bir listesidir. Bir sistem kullanıcısı, terminalde her zaman birer birer yazarak bir dizi komut çalıştırmak yerine, bunların tümünü (komutları) bir dosyada saklayabilir ve komutları birkaç kez yeniden yürütmek için dosyayı tekrar tekrar çağırabilir.

Senaryo yazmayı öğrenirken veya senaryo yazmanın ilk aşamalarında, normalde birkaç satır komut içeren küçük veya kısa senaryolar yazarak başlarız. Ve genellikle bu tür komut dosyalarının hatalarını, çıktılarına bakmaktan ve amaçladığımız gibi çalıştıklarından emin olmaktan başka bir şey yapmadan ayıklıyoruz.

Ancak, sistem ayarlarını değiştiren, ağlar üzerinde kritik yedeklemeler gerçekleştiren ve çok daha fazlasını içeren, binlerce satırlık komut içeren çok uzun ve gelişmiş komut dosyaları yazmaya başladığımızda, bir komut dosyasının yalnızca çıktısına bakmanın, o komut dosyasından ibaret olmadığını anlayacağız. bir komut dosyasındaki hataları bulmak için yeterli.

Bu nedenle, Linux serisindeki bu kabuk komut dosyası hata ayıklamasında, kabuk komut dosyası hata ayıklamasının nasıl etkinleştirileceğini inceleyeceğiz, farklı kabuk komut dosyası hata ayıklama modlarını ve bunların sonraki serilerde nasıl kullanılacağını açıklamaya geçeceğiz.

Bir Komut Dosyası Nasıl Başlatılır

Bir komut dosyası diğer dosyalardan, bir #! (She-bang – dosya türünü tanımlar) ve bir yol adı (yorumlayıcıya giden yol) içeren ilk satırıyla ayırt edilir. sisteme, dosyanın belirtilen program (yorumlayıcı) tarafından yorumlanacak bir komutlar koleksiyonu olduğunu bildirir.

Aşağıda farklı komut dosyası türlerindeki “ilk satırların” örnekleri verilmiştir:

#!/bin/sh          [For sh scripting]
#!/bin/bash        [For bash scripting] 
#!/usr/bin/perl    [For perl programming]
#!/bin/awk -f      [For awk scripting]   

Not: Bir komut dosyası herhangi bir dahili komut olmadan yalnızca bir dizi standart sistem komutu içeriyorsa, ilk satır veya #! atlanabilir kabuk direktifleri.

Linux'ta Kabuk Betiği Nasıl Çalıştırılır

Bir kabuk betiğini çağırmak için kullanılan geleneksel sözdizimi şöyledir:

script_name  argument1 ... argumentN

Başka bir olası biçim, betiği çalıştıracak kabuğun aşağıdaki gibi açıkça belirtilmesidir:

shell script_name argument1 ... argumentN  

Örneğin:

/bin/bash script_name argument1 ... argumentN     [For bash scripting]
/bin/ksh script_name argument1 ... argumentN      [For ksh scripting]
/bin/sh script_name argument1 ... argumentN       [For sh scripting]

İlk satırında #! bulunmayan ve yalnızca aşağıdaki gibi temel sistem komutlarını içeren komut dosyaları için:


#script containing standard system commands
cd /home/$USER
mkdir tmp
echo "tmp directory created under /home/$USER"

Basitçe çalıştırılabilir hale getirin ve aşağıdaki gibi çalıştırın:


chmod +x  script_name
./script_name 

Kabuk Betiği Hata Ayıklama Modunu Etkinleştirme Yöntemleri

Aşağıda birincil kabuk betiği hata ayıklama seçenekleri verilmiştir:

  1. -n (noexec veya no ecxecution'ın kısaltması) – kabuğa tüm komutları okuma talimatını verir, ancak bunları yürütmez. Bu seçenek sözdizimi kontrol modunu etkinleştirir.
  2. -x (xtrace veya yürütme izlemesinin kısaltması) – kabuğa, yürütülürken tüm komutları ve bunların bağımsız değişkenlerini terminalde görüntülemesini söyler. Bu seçenek mermi izleme modunu etkinleştirir.

1. Kabuk Komut Dosyasının İlk Satırını Değiştirme

İlk mekanizma, bir kabuk betiğinin ilk satırını aşağıdaki gibi değiştirmektir; bu, tüm betiğin hata ayıklamasını sağlayacaktır.

#!/bin/sh option(s)

Yukarıdaki formda seçenek, yukarıdaki hata ayıklama seçeneklerinden biri veya bunların birleşimi olabilir.

2. Hata Ayıklama Seçenekleriyle Kabuğu Çağırma

İkincisi, aşağıdaki hata ayıklama seçenekleriyle kabuğun çağrılmasıdır; bu yöntem aynı zamanda tüm betiğin hata ayıklamasını da açacaktır.

shell option(s) script_name argument1 ... argumentN

Örneğin:

/bin/bash option(s) script_name argument1 ... argumentN   

3. Set Shell Yerleşik Komutunu Kullanma

Üçüncü yöntem, bir işlev gibi bir kabuk betiğinin belirli bir bölümünde hata ayıklamak için set yerleşik komutunu kullanmaktır. Bu mekanizma önemlidir, çünkü bir kabuk betiğinin herhangi bir bölümünde hata ayıklamayı etkinleştirmemize olanak tanır.

Aşağıdaki formdaki set komutunu kullanarak hata ayıklama modunu açabiliriz; burada seçenek, hata ayıklama seçeneklerinden herhangi biridir.

set option 

Hata ayıklama modunu etkinleştirmek için şunu kullanın:

set -option

Hata ayıklama modunu devre dışı bırakmak için şunu kullanın:

set +option

Ek olarak, bir kabuk betiğinin farklı bölümlerinde birkaç hata ayıklama modunu etkinleştirdiysek, bunların hepsini aynı anda şu şekilde devre dışı bırakabiliriz:

set -

Kabuk betiği hata ayıklama modunun etkinleştirilmesiyle ilgili şimdilik bu kadar. Gördüğümüz gibi, bir kabuk betiğinin tamamında veya betiğin belirli bir bölümünde hata ayıklayabiliriz.

Bu serinin sonraki iki bölümünde, ayrıntılı açıklama, sözdizimi denetimi ve kabuk izleme hata ayıklamasını açıklamak için kabuk komut dosyası hata ayıklama seçeneklerinin nasıl kullanılacağını ele alacağız. > örneklerle modlar.

Daha da önemlisi, bu kılavuz hakkında herhangi bir soru sormayı veya aşağıdaki yorum bölümü aracılığıyla bize geri bildirimde bulunmayı unutmayın. O zamana kadar Tecmint'e bağlı kalın.