Hur man tar input från en användare i Bash Script [Avancerade tekniker]

Hur Man Tar Input Fran En Anvandare I Bash Script Avancerade Tekniker



Du kan skapa interaktiva skript genom att ta input från användaren under körningen. Det hjälper dig också att manipulera utdata enligt kraven. Det finns några enkla metoder att ta emot input från användaren. Det är därför det är bäst att använda mer avancerade sätt som mellanhand eller expert. Men många bash-användare behöver lära sig avancerade tekniker för att ta input från användarna i ett bash-skript. Så i den här handledningen kommer vi att förklara dem alla kort.

Hur man tar input från en användare i Bash Script [Avancerade tekniker]

Med läskommandot kan du ta input, men vet du att du kan ta flera input? Låt oss ta ett exempel för att få djupgående information. Anta att vi vill skapa ett skript för att utföra en aritmetisk beräkning med flera (A, B, C, D, E) tal:







#!/bin/bash

eko 'Vänligen ange tre siffror'

läsa A B C D E

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

eko 'Tillägg är $summa '



multiplicera =$ ( ( A * B * C * D * OCH ) )

eko 'Multiplikation är $multiplicera '



Nu kan vi köra skriptet och ange siffrorna för att beräkna addition och multiplikation:







Om du inte vill skapa en separat ekosats kan du lägga till den i läskommandot med alternativet -p:

#!/bin/bash

läsa -s 'Vänligen ange ditt namn och din ålder:' namn ålder



om [ $ålder -lt 17 ]

sedan

eko 'Förlåt!! Du är inte behörig till kursen'



annan

eko 'Jättebra!! Du är behörig till kursen'

vara



Ovanstående skript kräver att en användare är minst 17 år gammal för att få behörighet till den specifika kursen:

Ta indata med hjälp av Stdin (standardinmatning)

Om du vill gå ett steg längre i de avancerade teknikerna kan du använda stdin-konceptet. Du kan använda stdin i skriptet för att få enkla lösningar. Låt oss ta ett exempel där vi vill filtrera bort listan över kvalificerade kandidater som redan har lämnat in avgifterna. Vi har en lista som innehåller information som kandidatens namn, ålder, datum för inlämning av formulär och status för inlämning av avgift. Så vi kan använda nedanstående skript för att få de önskade detaljerna:

#!/bin/bash

eko 'detaljer om avgiftsinlämningen:'



katt / dev / stdin | skära -d ' ' -f 1 , 4 | sortera

Detta skript ger följande resultat:

Avslutar

Så det här handlade om de avancerade teknikerna du kan prova för att ta input från användaren i ett bash-skript. I den här handledningen har vi förklarat olika alternativ i läskommandot och stdin för att snabbt komma in i inmatningen. Om du är ny på bash och vill veta hur man tar emot input, kolla in vår hemsida för att veta mer.