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/bashlä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/basheko '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.