Bash Komut Dosyasında Bir Kullanıcıdan Girdi Nasıl Alınır [Gelişmiş Teknikler]

Bash Komut Dosyasinda Bir Kullanicidan Girdi Nasil Alinir Gelismis Teknikler



Yürütme sırasında kullanıcıdan girdi alarak etkileşimli komut dosyaları oluşturabilirsiniz. Ayrıca çıktıyı gereksinimlere göre değiştirmenize yardımcı olur. Kullanıcıdan girdi almanın bazı kolay yöntemleri vardır. Bu nedenle, bir ara veya uzman olarak daha gelişmiş yolları kullanmak en iyisidir. Ancak, birçok bash kullanıcısının, bir bash betiğinde kullanıcılardan girdi almak için gelişmiş teknikleri öğrenmesi gerekir. Bu nedenle, bu eğitimde hepsini kısaca açıklayacağız.

Bash Betiğinde Bir Kullanıcıdan Girdi Nasıl Alınır [Gelişmiş Teknikler]

Read komutu ile girdi alabilirsiniz, ancak birden fazla girdi alabileceğinizi biliyor muydunuz? Derinlemesine bilgi almak için bir örnek verelim. Birden çok (A, B, C, D, E) sayı kullanarak bir aritmetik hesaplama yapmak için bir komut dosyası oluşturmak istediğimizi varsayalım:







#!/bin/bash

Eko 'Lütfen üç sayı giriniz'

okuman A B C D E

toplam =$ ( ( A+B+C+D+E ) )

Eko 'Ekleme $toplam '



çarpmak =$ ( ( A * B * C * D * VE ) )

Eko 'Çarpma $çarp '



Şimdi, betiği çalıştırabilir ve toplama ve çarpmayı hesaplamak için sayıları girebiliriz:







Ayrı bir yankı ifadesi oluşturmak istemiyorsanız, -p seçeneğini kullanarak okuma komutuna ekleyebilirsiniz:

#!/bin/bash

okuman -p 'Lütfen Adınızı ve Yaşınızı Giriniz:' isim yaş



eğer [ $yaş -lt 17 ]

sonra

Eko 'Üzgünüm!! Kurs için uygun değilsiniz'



başka

Eko 'Harika!! Kursa katılmaya hak kazandınız'

olmak



Yukarıdaki komut dosyası, belirli bir kursa uygunluk elde etmek için kullanıcının en az 17 yaşında olmasını gerektirir:

Stdin Kullanarak Giriş Al (Standart Giriş)

Gelişmiş tekniklerde bir adım daha ileri gitmek istiyorsanız o zaman stdin konseptini kullanabilirsiniz. Kolay çözümler elde etmek için komut dosyasındaki stdin'i kullanabilirsiniz. Halihazırda ücretleri göndermiş olan uygun adayların listesini filtrelemek istediğimiz bir örneği ele alalım. Aday adı, yaşı, formun teslim tarihi ve ücret teslim durumu gibi ayrıntıları içeren bir listemiz var. Böylece, istenen ayrıntıları elde etmek için aşağıda verilen komut dosyasını kullanabiliriz:

#!/bin/bash

Eko 'ücretlerin sunulmasıyla ilgili ayrıntılar:'



kedi / dev / Stdin | kesmek -d '' -f 1 , 4 | çeşit

Bu komut dosyası aşağıdaki sonucu sağlar:

Sarma

Yani bu, bir bash betiğinde kullanıcıdan girdi almaya çalışabileceğiniz gelişmiş tekniklerle ilgiliydi. Bu eğitimde, girişi hızlı bir şekilde girmek için read komutundaki ve stdin'deki farklı seçenekleri açıkladık. Bash konusunda yeniyseniz ve nasıl girdi alacağınızı öğrenmek istiyorsanız, lütfen daha fazla bilgi için web sitemize göz atın.