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/bashlugeda -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/bashkaja 'ü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.