Linux Komutları

Linux “getopts” Örneği

Linux “getopts” Örneği
"getopts", bayrakları ve argümanları kullanıcıdan girdi olarak almak için çoğunlukla bash betiklerine dahil edilen Linux'ta çok kullanışlı bir komuttur. Bu komutun Linux Mint 20'deki kullanımını daha detaylı anlatmak için bu yazıda iki farklı kullanım örneğini sizlerle paylaşacağız.

Linux Mint 20'deki “getopts” Örnekleri:

Linux Mint 20'deki “getopts” komutunun daha kolay ve daha iyi anlaşılması için sizin için iki örnek senaryo tasarladık. Bu senaryolara geçmeden önce Linux Mint 20 terminalindeki “getopts” komutunun yardım kılavuzunu inceleyebilirsiniz, böylece bu komutun sözdizimi hakkında temel fikir edinebilirsiniz. “help” komutunu çalıştırarak bu komutun yardım kılavuzunu görebilirsiniz:

$ getopts --help

“Getopts” komutunun yardım kılavuzu, aşağıdaki resimde gösterildiği gibi sözdizimi ile birlikte bu komutun kullanımının kısa bir açıklamasını içerecektir:

Şimdi “getopts” komutunun yardım kılavuzunu incelediğimizde aşağıdaki gibi örnek senaryolarımıza geçebiliriz:

Vaka # 1: Linux Mint 20'de Yürütülmesi için Bayrakları Bash Komut Dosyasına Geçmek:

Bu örnekte, bu bash betiğinin yürütme komutuyla birlikte kullanıcıdan girdi olarak bir bayrak alacak bir bash betiği oluşturacağız. Sağlanan bayrağın değerine bağlı olarak ilgili çıktı görüntülenecektir. Bu senaryoda yer alan adımların ayrıntılı açıklaması aşağıdaki gibidir:

Adım # 1: Bash Komut Dosyası Yazma:

İlk önce Home dizinimize bir bash betiği yazacağız. Bu dosyaya getopts adını verdik.ş. Bu bash betiğinin içeriği aşağıdaki resimde gösterilmiştir. Aşağıda gösterilen bash betiğinde, “getopts” komutu üzerinde çalışan bir “while” döngüsüne sahibiz. Burada, bu “getopts” komutu, kullanıcıdan girdi olarak bir bayrak almak için kullanılır. Bu bayrağın değeri, sırasıyla “kırmızı”, “sarı” ve “yeşil” renkleri temsil eden “r”, “y” veya “g” olabilir. Kullanıcı tarafından sağlanan bayrağın değerini saklamak için “option” değişkeni kullanılacaktır. Ardından, “seçenek” bayrağının değerine bağlı olarak özelleştirilmiş bir mesaj gösterecek olan sağlanan bayrağın değeri üzerinde bir “durum” ifadesi kullandık. Son olarak “esac” deyimi ile “case” bloğunu ve “done” deyimi ile “do” bloğunu kapattık.

Adım # 2: Bash Komut Dosyasını Test Etme:

Bash betiğimizi oluşturup kaydettikten sonra, şimdi çalıştırma zamanı. Tüm vakaları tek tek test edeceğiz. İlk olarak, aşağıdaki şekilde doğru çıktıyı üretip üretmediğini görmek için bash betiğini “-r” bayrağıyla çalıştıracağız:

$ bash seçimleri.sh -r

Bash betiğimizin “-r” bayrağıyla özelleştirilmiş çıktısı aşağıdaki resimde gösterilmektedir:

Şimdi, doğru çıktıyı üretip üretmediğini görmek için bash betiğini “-y” bayrağıyla çalıştıracağız:

$ bash seçimleri.sh -y

Bash betiğimizin “-y” bayrağıyla özelleştirilmiş çıktısı aşağıdaki resimde gösterilmektedir:

Şimdi, doğru çıktıyı üretip üretmediğini görmek için bash betiğini “-g” bayrağıyla çalıştıracağız:

$ bash seçimleri.sh -g

Bash betiğimizin “-g” bayrağıyla özelleştirilmiş çıktısı aşağıdaki resimde gösterilmektedir:

Son olarak, herhangi bir rastgele bayrakla bash betiğimizi çalıştıracağız.e. geçerli olmayan bir bayrak veya bash betiğimizde belirtilmeyen bir bayrak aşağıdaki şekilde “-a” der:

$ bash seçimleri.sh -a

Bu sefer, geçersiz bir bayrak kullandığımızdan beri bir hata mesajı görüntüleyen bash betiğimizin varsayılan durumu yürütüldü.

Vaka # 2: Linux Mint 20'de Yürütülmesi İçin Bir Bash Komut Dosyasına Argümanlarla Birlikte Bayrakları İletmek:

Bu örnekte, bu bash betiğinin yürütme komutuyla birlikte kullanıcıdan girdi olarak bir bayrak ve bir argüman alacak bir bash betiği oluşturacağız. Sağlanan bayrağın ve argümanın değerine bağlı olarak ilgili çıktı üretilecektir. Bu senaryoda yer alan adımların ayrıntılı açıklaması aşağıdaki gibidir:

Adım # 1: Bash Komut Dosyası Yazma:

Bu durum için kullanılan bash betiği aşağıdaki resimde gösterilmektedir ve 1 numaralı vakamız için oluşturduğumuza çok benzer. Tek fark, bu sefer birden fazla bayrağa izin vermiyoruz. Kullanıcının yalnızca “-r” bayrağını girmesine izin verilir. Ancak, bash betiğindeki "r" işaretinden sonraki ":" iki nokta üst üste işareti, kullanıcının bayrakla birlikte bir argüman da sağlaması gerektiğini gösterir. Bu argüman varsayılan “OPTARG” değişkeninde saklanacaktır. “echo” komutu ile sağlanan argümanın değerini görüntülemek için “OPTARG” değişkeninden önce “$” sembolü kullandık.

Adım # 2: Bash Komut Dosyasını Test Etme:

Bu bash betiğini kaydettikten sonra, şimdi test etme zamanı. Yine, tüm vakaları tek tek test edeceğiz. İlk olarak, aşağıdaki şekilde doğru çıktıyı üretip üretmediğini görmek için "-r" bayrağı ve örnek bir "siyah" argümanıyla bash betiğini çalıştıracağız:

$ bash seçimleri.sh -r siyah

Bash betiğimizin “-r” bayrağı ve “siyah” argümanıyla özelleştirilmiş çıktısı aşağıdaki resimde gösterilmektedir:

Şimdi bu betiği geçersiz bir bayrak ve geçerli bir argümanla aşağıdaki şekilde test edeceğiz:

$ bash seçimleri.sh -siyah

Bu sefer, geçersiz bir bayrak kullandığımızdan beri bir hata mesajı görüntüleyen bash betiğimizin varsayılan durumu yürütüldü.

Şimdi, bu bash betiğini, bayrağı atlayarak ve geçerli bir argümanı aşağıdaki şekilde ileterek çalıştıracağız:

$ bash seçimleri.siyah

Bu sefer terminalde herhangi bir çıktı üretilmeyecek veya başka bir deyişle, zorunlu bir bayrağı atladığımız için bash betiğimiz çalışmayacaktır.

Son olarak, bu bash betiğini, argümanı atlayarak ve geçerli bayrağı aşağıdaki şekilde ileterek çalıştıracağız:

$ bash seçimleri.sh -r

Yine bu sefer, zorunlu argümanı atladığımızdan beri bir hata mesajı görüntüleyen bash betiğimizin varsayılan durumu yürütüldü.

Sonuç:

Bu iki örnek, Linux Mint 20'de bir bash betiğinde “getopts” komutunun kullanımının çok güzel bir tasviridir. Hatta bash'ta daha karmaşık senaryolar oluşturabilir ve bunları kullanıcıdan girdi olarak birden fazla argüman ve bayrak almak için “getopts” komutuyla eşleştirebilirsiniz.

Linux Eğitimi için Tomb Raider'ın Gölgesi
Shadow of the Tomb Raider, Eidos Montreal tarafından yaratılan bir aksiyon-macera oyunu serisi olan Tomb Raider serisine eklenen on ikinci oyundur. Oy...
Linux'ta FPS Nasıl Arttırılır?
FPS'nin kısaltması Saniyedeki Kare Sayısı. FPS'nin görevi, video oynatma veya oyun performanslarındaki kare hızını ölçmektir. Basit bir deyişle, her s...
En İyi Oculus Uygulama Laboratuvarı Oyunları
Oculus başlık sahibiyseniz, yandan yükleme hakkında bilgi sahibi olmalısınız. Sideloading, kulaklığınıza mağaza dışı içerik yükleme işlemidir. SideQue...