Kaip priskirti „Linux“ komandos išvestį kintamajam


Kai paleidžiate komandą, ji sukuria tam tikrą išvestį: tarkime, kad programos rezultatas arba programos vykdymo informacijos būsenos/klaidos pranešimai. Kartais komandos išvestį galite laikyti kintamajame, kuris bus naudojamas vėlesnėje operacijoje.

Šiame pranešime apžvelgsime įvairius „shell“ komandos išvesties priskyrimo kintamajam būdus, ypač naudingus „shell“ scenarijaus tikslams.

Norėdami išsaugoti komandos išvestį kintamajame, galite naudoti apvalkalo komandų pakeitimo funkciją toliau pateiktose formose:

variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'

Toliau pateikiami keli komandos pakeitimo naudojimo pavyzdžiai.

Šiame pirmame pavyzdyje išsaugosime komandos who (rodančio, kas yra prisijungęs prie sistemos) reikšmę kintamajame CURRENT_USERS user:

$ CURRENT_USERS=$(who)

Tada mes galime naudoti kintamąjį sakinyje, rodomame naudojant komandą echo, taip:

$ echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"

Aukščiau pateiktoje komandoje: vėliava -e reiškia interpretuoti visas pabėgimo sekas (pvz., naujai eilutei). Norėdami išvengti laiko ir atminties švaistymo, tiesiog atlikite komandos pakeitimą echo komandoje taip:

$ echo -e "The following users are logged on the system:\n\n $(who)"

Toliau pademonstruoti koncepciją naudojant antrąją formą; galime išsaugoti bendrą failų skaičių dabartiniame darbo kataloge kintamajame, vadinamame FILES ir vėliau jį pakartoti taip:

$ FILES=`sudo find . -type f -print | wc -l`
$ echo "There are $FILES in the current working directory."

Tai dabar, šiame straipsnyje mes paaiškinome „shell“ komandos išvesties priskyrimo kintamajam metodus. Savo mintis prie šio įrašo galite pridėti naudodami toliau pateiktą atsiliepimų skiltį.