Bash'te Komut Satırı Argümanları Nasıl Kullanılır?

Bash Te Komut Satiri Argumanlari Nasil Kullanilir



Linux'ta, bash betiği için girdi olarak komut satırı argümanlarını kullanırız. Bash, bu komut satırı bağımsız değişkenlerini sırayla alabilir ve bir seçenek olarak ayrıştırabilir. Bu bağımsız değişkenler, eylemleri ve betiğin çıktısını dinamik olarak etkilemenize izin verir.

Girdi ve çıktıyı etkilemek için bu bağımsız değişkenleri farklı şekilde yapılandırabilirsiniz. Bu nedenle bash'ta komut satırı bağımsız değişkenlerini işlemek önemlidir, ancak birçok yeni kullanıcının bunu nasıl yapacağını öğrenmesi gerekir. Dolayısıyla bu kılavuzda, bash'ta komut satırı argümanlarını ele almanın farklı yollarını açıklayacağız.







Bash'te Komut Satırı Argümanları Nasıl Kullanılır?

Bash'te komut satırı argümanlarını işlemenin çeşitli yolları vardır, bu yüzden kısa bilgi almak için bunlara bir göz atalım:



getopt İşlevi



getopt işlevi, bash'ta bağımsız değişkenleri tanımlama ve ayrıştırma için seçenekler ve sözdizimi sağladığı için kullanışlıdır. Bir veritabanı dosyası oluştururken veya bağımsız değişkenlere dayalı olarak belirli bir biçimde rapor oluştururken kullanabileceğiniz yerleşik bir Linux işlevidir. Getopt işlevi, iki tür bağımsız değişken olduğundan, kısa komut satırı bağımsız değişkenlerinin ayrıştırılmasına yardımcı olur:





  • Kısa Argümanlar: Bunlar, kısa çizginin izlediği tek karakterli bağımsız değişkenlerdir. Örneğin, -a, -l, -h, vb., tek bağımsız değişkenlere birkaç örnektir.

  • Uzun Argümanlar: Bunlar, çift tire ile takip edilen çok karakterli bağımsız değişkenlerdir. –all, –list, –help gibi çeşitli uzun argüman örnekleri vardır.

Getopt yardımcı programını kullanarak komut satırı argümanlarını işleyeceğimiz bir örneği ele alalım. Aşağıdaki bilgileri içeren “getopt.sh” adlı bir bash betiği oluşturduk:



!/ çöp Kutusu / darbe

süre getopts 'A:B:C:D:' detaylar; yapmak

dava ' $ ayrıntılar ' içinde

A )

Eko 'Vatandaş Adı $OPTARG ' ;;

B )

Eko 'Vatandaş kimliği $OPTARG ' ;;

C )

Eko 'Doğum Yeri $OPTARG ' ;;

D )

Eko 'Meslek $OPTARG ' ;;

* )

çıkış 1 ;;

esac

tamamlamak

vardiya ' $(($SEÇME -1) )'



eğer [ ! -İle birlikte 1 dolar ] ; sonra

Eko 'Medeni Durum $1'

başka

Eko 'Giriş Yok'

çıkış 1

olmak



eğer [ ! -İle birlikte 2 dolar ] ; sonra

Eko 'Aile Üyeleri 2 Dolar'

olmak

Şimdi betiği girdideki gerekli argümanlarla çalıştıralım:

Yukarıdaki görselde de görebileceğiniz gibi betiği sadece getopt fonksiyonları ile çalıştırıyoruz ve ardından tam sonuca ulaşmak için normal argümanları ekliyoruz.

Bayrakları Kullanma

Bayraklar, önünde tire (-) bulunan tek karakterlerden başka bir şey değildir. getopt işlevini kullanarak argümanları ilettiğimizde bayrakları kullanırız. -a, -b, -c bayraklara bazı örneklerdir. Örneğin, bir komut dosyası bir vatandaşın adını, kimliğini, yerini, yaşını ve mesleğini gerektirir. Bu nedenle, vatandaşın adını, kimliğini, yerini, yaşını ve mesleğini aynı anda tanımlamak için j, k, l, m, n bayraklarını kullandık:

#!/bin/bash

Süre getopts j:k:l:m:n: flag_info

yapmak

dava ' ${flag_info} ' içinde
< ol >
< o > j ) vatandaş adı = ${OPTARG} ;; o >
< o > k ) vatandaşlık numarası = ${OPTARG} ;; o >
< o > ben ) yer = ${OPTARG} ;; o >
< o > m ) yaş = ${OPTARG} ;; o >
< o > n ) Meslek = ${OPTARG} ;; o >
ol >
esac

tamamlamak

Eko 'İşte girilen ayrıntılar:'

Eko 'Vatandaş Adı: $vatandaş adı ' ;

Eko 'Vatandaşlık numarası: $vatandaş ' ;

Eko 'Yer: $ yer ' ;

Eko 'Yaş: $yaş ' ;

Eko 'Meslek: $meslek ' ;

Komut dosyası, terminalde aşağıdaki sonucu verecektir:

. /< senaryo > .sh -j Danny -k 476 -l toronto -m 25 -n Yazar

kullanma [e-posta korumalı] Döngüler ile

“ [e-posta korumalı] ” değişkeni, tüm giriş bağımsız değişkenlerinin dizisinden başka bir şey değildir. “ kullanarak herhangi bir sayıda girişi iletebiliriz. [e-posta korumalı] ” değişken. Bağımsız değişkenler arasında yineleme yapmak için bu değişkeni bir döngü olarak kullanabilirsiniz. “ [e-posta korumalı] ” değişkeni o zaman işe yarar; giriş boyutunu bilmiyorsunuz ve konumsal argümanları alamıyorsunuz. Bu nedenle, “ [e-posta korumalı] ”  getopt işlevini tekrar tekrar tanımlamak yerine. İşte döngüleri kullanmanın bir örneği ve [e-posta korumalı] bir komut dosyasında birlikte:

#!/bin/bash

birde = ( “$ @ )



eğer [ $# -gt 1 ]

sonra



Ekle = $ ( ( ${num[0]} + ${num[1]} ) )

Eko 'Tüm sayıların eklenmesi: $ekle '



çıkarma =$ ( ( ${num[0]} - ${num[1]} - ${num[2]} ) )

Eko 'Sayıların çıkarma işlemi: $çıkarma '



çarpmak =$ ( ( ${num[0]} * ${num[1]} * ${num[2]} ) )

Eko 'Sayıların çarpımı: $çarp '



bölüm1 = $ ( ( ${num[0]} / ${num[1]} ) )

Eko 'bölünmesi ${num[0]} ve ${num[1]} dır-dir: $bölüm1 '



bölüm2 = $ ( ( ${num[1]} / ${num[2]} ) )

Eko 'Bölünmesi ${num[1]} ve ${num[2]} dır-dir: $bölüm2 '



bölüm3 =$ ( ( ${num[0]} / ${num[2]} ) )

Eko 'Bölünmesi ${num[0]} ve ${num[2]} dır-dir: $bölüm2 '



olmak

Yukarıdaki komut dosyası, komut satırı argümanlarına dayalı olarak farklı aritmetik hesaplamalar gerçekleştirir. Örneğin, girdi olarak 50, 35 ve 15 girdik:

Konum Parametrelerini Kullanma

Konumsal parametrelere, önce $1'e, ardından $2'ye vb. erişirken erişebilirsiniz. Örneğin, ilk bağımsız değişken olarak bir adı ve ikinci olarak bir şehri okuyan bir komut dosyası oluşturalım. Ancak önce şehri, sonra adı geçerseniz, o zaman adı şehir olarak kabul eder ve tersi de geçerlidir. Bu kavramı anlamak için aşağıdaki komut dosyasına daha derin bir dalış yapalım:

#!/bin/bash

Eko 'İşte girilen detaylar'

Eko '1 $ adı'

Eko 'şehir 2 dolar'

Komut dosyasını terminalde yürütürken adı ve şehri eklemeniz gerekir:

Sarma

Bash'te komut satırı bağımsız değişkenlerini ele alma yöntemleri hakkında bilmeniz gereken her şey bu. Deneyebileceğiniz farklı yaklaşımları uygun örneklerle açıkladık. Komut dosyasına bağımsız değişkenler eklemek istiyorsanız, çeşitli komutlar vardır. Bu yüzden onlar hakkında daha fazla bilgi edinmek için Linuxhint'i ziyaret ettiğinizden emin olun.