Először ellenőrizze a „read” parancs alapvető szintaxisát:
read [opció] változóA „read” parancs használata azt jelenti, hogy a Bashszal kommunikálva információt szerez a felhasználótól. Az értéket elmenti egy változóba, de nincs “$”Jel. Ezt a koncepciót egy példával jobban meg fogja tudni érteni.
1. példa: A „read” parancs használata egy Bash szkriptben
A „read” parancs részletesebb vizsgálatához létrehozunk egy egyszerű szkriptet, amely a felhasználó nevét kéri. Először nyissa meg bármelyik szövegszerkesztőt; ehhez az oktatóanyaghoz a Vim szövegszerkesztőt használom a sok hasznos funkció miatt. A Vim telepítéséhez hajtsa végre a következő parancsot a terminálon:
$ sudo apt install vimEzután írja be a következőt a szöveges fájlba:
#! \ bin \ bashvisszhang "Kérjük, írja be a nevét"
olvassa el a nevet
echo „A neved” $ név
Mentse el a fájlt bármilyen néven, majd nyomja meg az gombot Kilépés és írja be: w readcom.SH.”A szkript futtatásához adja ki a következő parancsot:
$ bash readcom.SHA fenti szkript megkéri a felhasználót, hogy írja be a nevét. Ezután a „read” parancs elmenti a felhasználó bemenetét. A következő sor kinyomtatja a felhasználó által beírt nevet.
2. példa: Kód egyszerűsítése a „prompt” operátor segítségével
A fenti példa tovább egyszerűsíthető agyors" operátor. Írjuk újra a fenti példát, hogy megértsük a kódot:
#! / bin / bashread -p „Írja be a nevét” név
echo „A neved” $ név
3. példa: A felhasználói adatok elrejtése a „titkos / néma” operátor használatával
A "-s”Jelzővel el lehet rejteni a felhasználó bemenetét. A következő Bash szkript példa bemutatja az „-s” operátor használatát:
#! / bin / bashread -p „Kérjük, írja be felhasználónevét” felhasználónév
read -s -p „Kérjük, írja be a jelszavát” $ jelszó
4. példa: A karakterhossz korlátozása
A "-n”Jelzővel korlátozható a felhasználó által bevihető karakterek száma.
#!/ bin / bashread -n 8 -p „Kérjük, írja be a felhasználónevét, amely nem haladja meg a 8 karaktert” felhasználónév
echo „A felhasználóneved” $ felhasználónév
Az „-n” opcióval a felhasználó így is kevesebb, mint nyolc karaktert írhat. A bemeneti hossz további korlátozása érdekében a-N”Jelző használható, amely pontosan nyolc karakterre korlátozza a felhasználó válaszát.
5. példa: Az input megszerzése egy tömbben
A felhasználói bemenet egy tömbben is felvehető a “-a”Zászló. Például a felhasználó nevének, életkorának és e-mail címének egyhuzamos megszerzéséhez használhatunk egy tömböt. Nézzünk meg egy példát:
#! / bin / bashvisszhang: „Kérjük, írja be a nevét, életkorát és e-mail címét”
olvassa el - tömb név kor e-mail
visszhang: „Az Ön neve, kora és e-mail címe: $ array [@] név életkor e-mail”
visszhang: „A neved és az életkorod: $ array [@]: 0: 1 névkor”
echo „Az Ön e-mail címe: $ array [2] email”
- A „$ array [@]” végigvonul az összes változón.
- A 0-tól 1-ig terjedő indexek közötti ismétléshez használja a „$ array [@]: 0: 1” változóneveket.
- Ha egy adott változó értékét egy adott indexen szeretné megkapni, használja a „$ array [2]” kifejezést a változó nevével.
6. példa: Időtúllépés hozzáadása az „olvasás” parancshoz
Amint a parancs neve jelzi, időkorlátot lehet hozzáadni a kód olvasásának feltétele a „-t” jelző használatával, amely a felhasználót egy adott időre vonatkozó információk megadására készteti. Ellenkező esetben a program a következő kódsorra lép.
#! \ bin \ bashvisszhang: „Mi Japán fővárosa? Válasz 5 másodperc múlva ”
olvassa -t 5 válasz
ha [“$ answer” = “tokyo”] || [“$ Answer” = “Tokió”];
azután
visszhang: „A válaszod helyes!”
más
visszhang: „Rossz a válaszod!”
fi
Következtetés
A programozás egyik legfontosabb eleme a felhasználói bevitel megszerzése, amely interaktívabbá teszi programjait. Ez a cikk bemutatta, hogyan kell használni a „read” parancsot, a Bash parancsfájlok egyik legfontosabb parancsát. Ebben a cikkben megismerkedett a „read” paranccsal használható különféle megközelítésekkel, az alap jelző operátoroktól a haladó operátorokig.