Kuidas kasutajalt Bash-skriptis sisendit võtta [täiustatud tehnikad]

Kuidas Kasutajalt Bash Skriptis Sisendit Votta Taiustatud Tehnikad



Saate luua interaktiivseid skripte, võttes täitmise ajal kasutajalt sisendi. Samuti aitab see väljundit vastavalt nõuetele manipuleerida. Kasutajalt sisendi saamiseks on mõned lihtsad meetodid. Seetõttu on vahe- või eksperdina kõige parem kasutada arenenumaid viise. Paljud bashi kasutajad peavad aga õppima täiustatud tehnikaid, et saada kasutajatelt bash-skripti sisendit. Nii et selles õpetuses selgitame neid kõiki lühidalt.

Kuidas kasutajalt Bash-skriptis sisendit võtta [täiustatud tehnikad]

Lugemiskäsuga saate sisestada, kuid kas teate, et saate teha mitu sisendit? Põhjaliku teabe saamiseks võtame näite. Oletame, et tahame luua skripti aritmeetilise arvutuse tegemiseks, kasutades mitut (A, B, C, D, E) numbrit:







#!/bin/bash

kaja 'Palun sisestage kolm numbrit'

lugeda A B C D E

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

kaja 'Lisand on $summa '



korrutada =$ ( ( A * B * C * D * JA ) )

kaja 'Korrutamine on $korrutada '



Nüüd saame liitmise ja korrutamise arvutamiseks käivitada skripti ja sisestada numbrid:







Kui te ei soovi eraldi kajalauset luua, saate selle lisada lugemiskäsku, kasutades suvandit -p:

#!/bin/bash

lugeda -lk 'Palun sisestage oma nimi ja vanus:' nimi vanus



kui [ $vanus -lt 17 ]

siis

kaja 'Vabandust! Te ei vasta kursusele'



muidu

kaja 'Suurepärane! Olete kursusele sobilik'

olla



Ülaltoodud skript nõuab, et kasutaja oleks konkreetsele kursusele sobilikuks saamiseks vähemalt 17-aastane:

Võtke sisend, kasutades standardset sisendit (standardsisend)

Kui soovite täiustatud tehnikates sammu edasi minna, võite kasutada stdini kontseptsiooni. Lihtsate lahenduste leidmiseks saate skriptis kasutada stdini. Võtame näite, kus soovime välja filtreerida kõlblike kandidaatide nimekirja, kes on juba tasud esitanud. Meil on nimekiri, mis sisaldab üksikasju, nagu kandidaadi nimi, vanus, vormi esitamise kuupäev ja tasu esitamise olek. Seega saame soovitud üksikasjade saamiseks kasutada alltoodud skripti:

#!/bin/bash

kaja 'üksikasjad tasude esitamise kohta:'



kass / dev / stdin | lõigatud -d '' -f 1 , 4 | sorteerida

See skript annab järgmise tulemuse:

Pakkimine

Nii et see kõik puudutas täiustatud tehnikaid, mida saate proovida kasutajalt bash-skriptis sisendit võtta. Selles õpetuses oleme selgitanud erinevaid lugemiskäsu ja stdini valikuid sisendi kiireks sisestamiseks. Kui olete bashiga uustulnuk ja soovite teada, kuidas sisendit võtta, vaadake lisateabe saamiseks meie veebisaiti.