Jinsi ya Kupeana Pato la Amri ya Linux kwa Kigezo


Unapoendesha amri, hutoa aina fulani ya matokeo: ama matokeo ya programu yanapaswa kutoa au hadhi/ujumbe wa makosa ya maelezo ya utekelezaji wa programu. Wakati mwingine, unaweza kutaka kuhifadhi matokeo ya amri katika kigezo cha kutumika katika operesheni ya baadaye.

Katika chapisho hili, tutapitia njia tofauti za kugawa matokeo ya amri ya ganda kwa kutofautisha, muhimu haswa kwa madhumuni ya uandishi wa ganda.

Ili kuhifadhi matokeo ya amri katika kutofautisha, unaweza kutumia kipengee cha ubadilishaji wa amri ya ganda katika fomu zilizo hapa chini:

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

Ifuatayo ni mifano michache ya kutumia badala ya amri.

Katika mfano huu wa kwanza, tutahifadhi thamani ya nani (ambayo inaonyesha ni nani ameingia kwenye mfumo) amri katika kigezo cha CURRENT_USERS cha mtumiaji:

$ CURRENT_USERS=$(who)

Basi tunaweza kutumia kutofautisha katika sentensi iliyoonyeshwa kwa kutumia amri ya echo kama hivyo:

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

Katika amri iliyo hapo juu: alama -e inamaanisha kutafsiri mfuatano wowote wa kutoroka (kama vile \n kwa laini mpya) iliyotumika. Ili kuzuia kupoteza wakati na kumbukumbu, fanya tu ubadilishaji wa amri ndani ya amri ya echo kama ifuatavyo:

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

Kisha, kudhihirisha dhana kwa kutumia kidato cha pili; tunaweza kuhifadhi jumla ya idadi ya faili katika saraka ya sasa ya kufanya kazi katika kigezo kiitwacho FILES na kuirudisha baadaye kama ifuatavyo:

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

Hiyo ndiyo kwa sasa, katika makala hii, tulielezea mbinu za kugawa matokeo ya amri ya shell kwa kutofautiana. Unaweza kuongeza mawazo yako kwa chapisho hili kupitia sehemu ya maoni hapa chini.