Sådan tager du input fra en bruger i Bash Script [Avancerede teknikker]

Sadan Tager Du Input Fra En Bruger I Bash Script Avancerede Teknikker



Du kan oprette interaktive scripts ved at tage input fra brugeren under udførelsen. Det hjælper dig også med at manipulere outputtet i henhold til kravene. Der er nogle nemme metoder til at tage input fra brugeren. Derfor er det bedst at bruge mere avancerede måder som mellemled eller ekspert. Men mange bash-brugere har brug for at lære avancerede teknikker for at tage input fra brugerne i et bash-script. Så i denne tutorial vil vi forklare dem alle kort.

Sådan tager du input fra en bruger i Bash Script [Avancerede teknikker]

Med read-kommandoen kan du tage input, men ved du, at du kan tage flere input? Lad os tage et eksempel for at få dybdegående information. Antag, at vi vil oprette et script til at udføre en aritmetisk beregning ved hjælp af flere (A, B, C, D, E) tal:







#!/bin/bash

ekko 'Indtast venligst tre tal'

Læs A B C D E

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

ekko 'Tilføjelse er $sum '



formere sig =$ ( ( EN * B * C * D * OG ) )

ekko 'Multiplikation er $ multiplicere '



Nu kan vi udføre scriptet og indtaste tallene for at beregne addition og multiplikation:







Hvis du ikke vil oprette en separat ekkosætning, kan du tilføje den i læsekommandoen ved at bruge -p-indstillingen:

#!/bin/bash

Læs -s 'Indtast venligst dit navn og din alder:' navnealder



hvis [ $alder -lt 17 ]

derefter

ekko 'Beklager!! Du er ikke berettiget til kurset'



andet

ekko 'Fantastisk!! Du er berettiget til kurset'

være



Ovenstående script kræver, at en bruger er mindst 17 år gammel for at få adgang til det pågældende kursus:

Tag input ved hjælp af Stdin (Standard Input)

Hvis du vil gå et skridt videre i de avancerede teknikker, så kan du bruge stdin konceptet. Du kan bruge stdin i scriptet for at få nemme løsninger. Lad os tage et eksempel, hvor vi ønsker at bortfiltrere listen over kvalificerede kandidater, der allerede har indsendt gebyrerne. Vi har en liste, der indeholder detaljer som kandidatnavn, alder, dato for formularindsendelse og gebyrindsendelsesstatus. Så vi kan bruge nedenstående script til at få de ønskede detaljer:

#!/bin/bash

ekko 'detaljer om gebyrindsendelsen:'



kat / dev / stdin | skære -d ' ' -f 1 , 4 | sortere

Dette script giver følgende resultat:

Afslutter

Så dette handlede om de avancerede teknikker, du kan prøve at tage input fra brugeren i et bash-script. I denne tutorial har vi forklaret forskellige muligheder i læsekommandoen og stdin for at indtaste input hurtigt. Hvis du er ny inden for bash og ønsker at vide, hvordan du tager input, så tjek venligst vores hjemmeside for at vide mere.