Bash 4 uue funktsiooni abil saate stringi juhtumit hõlpsamini teisendada. '^' sümbolit kasutatakse mis tahes stringi esimese märgi teisendamiseks suurtähtedeks ja '^^' sümbolit kasutatakse kogu stringi teisendamiseks suurtähtedeks. ',' sümbolit kasutatakse stringi esimese märgi teisendamiseks väiketähtedeks ja ',,' sümbolit kasutatakse kogu stringi väiketähtede teisendamiseks.
Stringi juhtumi teisendamine
Näide#1:
Muutujale stringisisendi määramiseks käivitage järgmised käsud, $ nimi , ja järgmisi käske kasutatakse algse väärtuse printimiseks, väärtuse printimiseks, teisendades esimene täht suurtähtedeks, ja prindiväärtuseks, teisendades stringi kõik tähed suurtähtedeks.
$nimi='fahmida'
$viskas välja $ nimi
$viskas välja $ {nimi^}
$viskas välja $ {nimi ^^}
Näide#2:
Järgmine näide näitab, kuidas saate konkreetse märgiga sobitades suvalise stringi esimese märgi suurtähtedeks teisendada. Siin võrreldakse esimest märki kahe viimase käsuga tähtedega l ja h.
$saidil='linuxhint'
$viskas välja $ sait
$viskas välja $ {site ^ l}
$viskas välja $ {site^h}
Näide#3:
Järgmises näites $ keel muutujat kasutatakse tekstiväärtuse salvestamiseks ja kolmandat käsku kasutatakse stringi iga sõna esimese märgi muutmiseks suurtähtedeks, kus esimene märk on „p”. Viimast käsku kasutatakse teksti iga sõna esimese märgi sobitamiseks tähtedega „p” ja „j” ning teisendatakse need suurtähtedeks.
$keel='python perl java php c#'
$viskas välja $ keel
$viskas välja $ {keel ^^ p)}
$viskas välja $ {keel ^^ [p, j]}
Näide#4:
Looge baasfail nimega case1.sh järgmise koodiga. Selles näites võetakse kasutaja sisend sisse muutuja, $ aastat ja selle muutuja väärtus trükitakse teise stringiga, teisendades esimese märgi suurtähtedeks.
#!/bin/bashloe -lk 'Kas sulle meeldib muusika? 'aastat
vastus=$ {aastat ^}
viskas välja 'Teie vastus on$ vastus. '
Käivitage skript.
$löömacase1.sh
Näide#5:
Looge bash -fail nimega case2.sh järgmise koodiga. Kasutajalt võetud stringi väärtus teisendatakse suurtähtedeks ja salvestatakse muutujaks $ vastus . Kui selle muutuja väärtus vastab väärtusele „ LISAMA' siis väärtus $ a, ja $ b lisatakse ja trükitakse. Kui selle muutuja väärtus kattub ' SUBTRAKT ” siis lahutamise tulemus $ a, ja $ b trükitakse. Skript prinditakse ' Vale vastus ”Kui kasutaja antud väärtus ei ühti„ ADD ”või„ SUBTRAKT '.
#!/bin/bashet=viisteist
b=kakskümmend
loe -lk 'Kas soovite liita või lahutada? 'aastat
vastus=$ {aastat ^^}
kui [ $ vastus=='LISAMA' ];siis
viskas välja 'Lisamise tulemus =$ ((a+b)) '
elif [ $ vastus=='SUBTRAKT' ];siis
viskas välja 'Lahutamise tulemus =$ ((a-b)) '
muidu
viskas välja 'Vigane vastus'
olla
Käivitage skript.
$löömacase2.sh
Näide#6:
Looge bash -fail nimega case3.sh järgmise skriptiga. Selles näites võetakse tekstiväärtus kasutajalt ja salvestatakse muutuja sisse $ andmed . Seejärel võetakse komaga eraldatud tähemärkide loend käändekonversiooni sisendiks ja salvestatakse muutuja sisse $ nimekiri . Muutujat kasutatakse loendi märkide sobitamiseks väärtusega $ andmed . Skript prindib väljundi pärast märkide teisendamist suurteks tähtedeks, kus need vastavad.
#!/bin/bashloe -lk 'Sisestage mõned tekstiandmed:'andmed
loe -lk 'Mainige komaga tähti, mis teisendatakse suurtähtedeks ?:'nimekirja
viskas välja -n 'Esiletõstetud tekst on järgmine:'
viskas välja $ {data ^^ [$ list]}
Käivitage skript.
$löömacase3.sh
Näide#7:
Looge bash -fail nimega case4.sh järgmise koodiga. Siin, ,, operaatorit kasutatakse kasutajatelt saadud väärtuste teisendamiseks ja muutujaga võrdlemiseks $ kasutajanimi ja $ parool . Kui mõlemad väärtused ühtivad, prinditakse skript välja Kehtiv kasutaja muidu trükitakse Sobimatu kasutaja .
#!/bin/bashkasutajanimi='admin'
parool='pop890'
loe -lk 'Sisestage kasutajanimi:'u
loe -lk 'Sisestage parool: 'lk
kasutaja=$ {u ,,}
üle andma=$ {p ,,}
kui [ $ kasutajanimi==$ kasutaja ] && [ $ parool==$ pass ];siis
viskas välja „Kehtiv kasutaja”
muidu
viskas välja „Kehtetu kasutaja”
olla
Käivitage skript.
$löömacase4.sh
Järeldus:
Loodetavasti aitab see õpetus teil bash -i uue funktsiooni abil hõlpsamini juhtumite teisendamise ülesandeid õppida. Lisateabe saamiseks vaadake video !