logo

Rinkinys – $VARIABLE bash

Bash scenarijų pasaulyje galite susidurti su frazių rinkiniu – $VARIABLE. Bet ką tai reiškia?

Paprasčiausiai rinkinys – $VARIABLE naudojamas bash kintamojo reikšmei padalyti į atskirus žodžius, kaip skirtuką naudojant vidinio lauko skyriklį (IFS). Pavyzdžiui, jei KINTAMASIS turi reikšmę a b c, tada paleistas rinkinys – $KINTAMASIS nustatys padėties parametrus į a, b ir c.



kodėl žymeklio sąsaja java

Iš pirmo žvilgsnio tai gali atrodyti ne itin naudinga, tačiau tai gali būti galinga priemonė, kai naudojama tinkamame kontekste. Vienas dažnas naudojimo atvejis yra apdoroti komandinės eilutės argumentus, perduodamus į bash scenarijų. Kai paleidžiate bash scenarijų, padėties parametrai (t. y. , ir tt) nurodo scenarijui perduodamus argumentus. Naudodami set – $VARIABLE, galite lengvai padalyti vieną argumentą į kelis žodžius, kad galėtumėte lengviau juos apdoroti.

Štai pavyzdys, kaip tai gali būti naudojama:

#!/bin/bash # Set the value of VARIABLE to the first command-line argument VARIABLE='' # Split the value of VARIABLE into separate words set - $VARIABLE # Loop over the words for word in '$@'; do echo '$word' done>

Jei išsaugosite šį scenarijų kaip example.sh ir paleiskite jį taip:

./example.sh 'a b c'>

Išvestis:



a b c>

Pereikite per sąrašo elementus, saugomus kintamajame

Kitas dažnas rinkinio – $VARIABLE – naudojimo atvejis yra kintamajame saugomo sąrašo elementų kilpa. Pavyzdžiui:

# Set the value of VARIABLE to 'a b c' VARIABLE='a b c' # Split the value of VARIABLE into separate words set - $VARIABLE # Loop over the words for word in '$@'; do echo '$word' done>

Išvestis:

a b c>

Verta paminėti, kad rinkinys – $VARIABLE veikia tik tuo atveju, jei VARIABLE reikšmė yra viena eilutė. Jei VARIABLE yra masyvas, turėsite naudoti kitą metodą. Viena iš galimybių yra naudoti printf „%s “ ${VARIABLE[@]} sintaksę, kuri išplečia masyvą į atskirų žodžių seriją, kiekvieną atskiriant nauju eilutės simboliu.



Štai pavyzdys, kaip tai gali būti naudojama:

#!/bin/bash # Set the value of VARIABLE to an array containing 'a', 'b', and 'c' VARIABLE=('a' 'b' 'c') # Expand the array into a series of separate words set - $(printf '%s
' '${VARIABLE[@]}') # Loop over the words for word in '$@'; do echo '$word' done>

Išvestis:

Prisijunkite prie mysql atnaujinimo
a b c>

Išvada

Apibendrinant, rinkinys – $VARIABLE yra naudinga bash funkcija, leidžianti padalyti kintamojo reikšmę į atskirus žodžius, naudojant IFS kaip skirtuką. Jis gali būti naudojamas komandinės eilutės argumentams apdoroti arba kintamajame saugomo sąrašo elementams apsukti. Nors jis veikia tik su atskiromis eilutėmis, yra alternatyvių metodų, kuriuos galima naudoti su masyvais. Supratimas, kaip veikia $VARIABLE ir kada jį naudoti, gali būti vertingas jūsų bash scenarijų rinkinio papildymas.