logo

Komplekts – $VARIABLE bash

Bash skriptu pasaulē jūs varat saskarties ar frāžu kopu — $VARIABLE. Bet ko tas nozīmē?

Visvienkāršākā kopa — $VARIABLE tiek izmantota, lai sadalītu bash mainīgā vērtību atsevišķos vārdos, kā atdalītāju izmantojot iekšējo lauku atdalītāju (IFS). Piemēram, ja VARIABLE ir vērtība a b c, tad, izpildot komplektu – $VARIABLE, pozicionālie parametri tiktu iestatīti uz a, b un c.



java pārvērst char par virkni

No pirmā acu uzmetiena tas var nešķist īpaši noderīgs, taču tas var būt spēcīgs rīks, ja to izmanto pareizajā kontekstā. Viens izplatīts lietošanas gadījums ir bash skriptam nodoto komandrindas argumentu apstrāde. Palaižot bash skriptu, pozīcijas parametri (t.i., , utt.) atspoguļo skriptam nodotos argumentus. Izmantojot set – $VARIABLE, jūs varat viegli sadalīt vienu argumentu vairākos vārdos, ļaujot tos vieglāk apstrādāt.

Šeit ir piemērs, kā to varētu izmantot:

#!/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>

Ja saglabājat šo skriptu kā example.sh un palaidiet to šādi:

./example.sh 'a b c'>

Izvade:



a b c>

Pārvietojieties pāri mainīgajā saglabātā saraksta elementiem

Vēl viens kopas lietošanas gadījums — $VARIABLE ir cilpa pāri mainīgajā saglabātā saraksta elementiem. Piemēram:

# 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>

Izvade:

mediju pārraide
a b c>

Ir vērts atzīmēt, ka kopa — $VARIABLE darbojas tikai tad, ja VARIABLE vērtība ir viena virkne. Ja VARIABLE ir masīvs, jums būs jāizmanto cita pieeja. Viena iespēja ir izmantot printf ‘%s ’ ${VARIABLE[@]} sintaksi, kas paplašina masīvu atsevišķu vārdu sērijā, katru atdala ar jaunu rindas rakstzīmi.



Šeit ir piemērs, kā to varētu izmantot:

#!/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>

Izvade:

a b c>

Secinājums

Noslēgumā iestatiet - $VARIABLE ir noderīga bash funkcija, kas ļauj sadalīt mainīgā vērtību atsevišķos vārdos, izmantojot IFS kā atdalītāju. To var izmantot, lai apstrādātu komandrindas argumentus vai cilpu pāri mainīgajā saglabātā saraksta elementiem. Lai gan tas darbojas tikai ar atsevišķām virknēm, ir alternatīvas pieejas, kuras var izmantot ar masīviem. Izpratne par to, kā iestatījums — $VARIABLE darbojas un kad to izmantot, var būt vērtīgs papildinājums jūsu bash skriptu rīkkopai.