Hoe invoer van een gebruiker in Bash Script te nemen [Geavanceerde technieken]

Hoe Invoer Van Een Gebruiker In Bash Script Te Nemen Geavanceerde Technieken



U kunt interactieve scripts maken door input van de gebruiker te nemen tijdens de uitvoering. Het helpt u ook om de uitvoer te manipuleren volgens de vereisten. Er zijn enkele eenvoudige methoden om invoer van de gebruiker te ontvangen. Daarom kun je als tussenpersoon of expert het beste meer geavanceerde manieren gebruiken. Veel bash-gebruikers moeten echter geavanceerde technieken leren om input van de gebruikers in een bash-script te krijgen. Dus in deze tutorial zullen we ze allemaal kort uitleggen.

Hoe invoer van een gebruiker in Bash Script te nemen [Geavanceerde technieken]

Met het leescommando kunt u invoer opnemen, maar weet u dat u meerdere invoer kunt gebruiken? Laten we een voorbeeld nemen om diepgaande informatie te krijgen. Stel dat we een script willen maken om een ​​rekenkundige berekening uit te voeren met meerdere (A, B, C, D, E) getallen:







#!/bin/bash

echo 'Voer drie cijfers in'

lezen A B C D E

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

echo 'Toevoeging is $ som '



vermenigvuldigen =$ ( ( EEN * B * C * D * EN ) )

echo 'Vermenigvuldiging is $vermenigvuldigen '



Nu kunnen we het script uitvoeren en de getallen invoeren om de optelling en vermenigvuldiging te berekenen:







Als u geen aparte echo-instructie wilt maken, kunt u deze toevoegen aan het leescommando met de optie -p:

#!/bin/bash

lezen -p 'Voer uw naam en leeftijd in:' naam leeftijd



als [ $ leeftijd -lt 17 ]

dan

echo 'Sorry!! U komt niet in aanmerking voor de cursus'



anders

echo 'Geweldig!! Je komt in aanmerking voor de cursus'

zijn



Het bovenstaande script vereist dat een gebruiker minimaal 17 jaar oud is om in aanmerking te komen voor de betreffende cursus:

Input opnemen met behulp van Stdin (standaardinvoer)

Wil je nog een stap verder gaan in de geavanceerde technieken, dan kun je gebruik maken van het stdin concept. U kunt de stdin in het script gebruiken om eenvoudige oplossingen te krijgen. Laten we een voorbeeld nemen waarbij we de lijst met in aanmerking komende kandidaten die de vergoedingen al hebben ingediend, willen filteren. We hebben een lijst met details zoals de naam van de kandidaat, de leeftijd, de datum van indiening van het formulier en de status van de indiening van de vergoeding. We kunnen dus het onderstaande script gebruiken om de gewenste details te krijgen:

#!/bin/bash

echo 'details over het indienen van vergoedingen:'



kat / ontwikkelaar / standaard | snee -d '' -f 1 , 4 | soort

Dit script geeft het volgende resultaat:

Afsluiten

Dus dit ging allemaal over de geavanceerde technieken die je kunt proberen om input van de gebruiker te krijgen in een bash-script. In deze zelfstudie hebben we verschillende opties uitgelegd in het leescommando en de stdin om de invoer snel in te voeren. Als bash nieuw voor je is en je wilt weten hoe je input moet verwerken, kijk dan op onze website voor meer informatie.