Bii o ṣe le Fi ipinfunni kan silẹ ti Aṣẹ Linux kan si Oniyipada kan


Nigbati o ba ṣiṣẹ aṣẹ kan, o ṣe iru iṣujade kan: boya abajade eto kan jẹ ki o ṣe lati ṣe tabi ipo/aṣiṣe awọn ifiranṣẹ ti awọn alaye ipaniyan eto naa. Nigba miiran, o le fẹ lati tọju iṣujade ti aṣẹ kan ninu oniyipada kan lati ṣee lo ninu iṣẹ ṣiṣe nigbamii.

Ninu ifiweranṣẹ yii, a yoo ṣe atunyẹwo awọn ọna oriṣiriṣi ti fifun ipinfunni aṣẹ aṣẹ ikarahun si oniyipada kan, ti o wulo ni pataki fun idi afọwọkọ ikarahun.

Lati tọju iṣujade ti aṣẹ kan ninu oniyipada kan, o le lo ẹya rirọpo aṣẹ ikarahun ni awọn fọọmu ni isalẹ:

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

Ni isalẹ wa awọn apẹẹrẹ diẹ ti lilo rirọpo pipaṣẹ.

Ni apẹẹrẹ akọkọ yii, a yoo tọju iye ti tani (eyiti o fihan ti o ti ibuwolu wọle lori eto) aṣẹ ni oluyipada CURRENT_USERS olumulo:

$ CURRENT_USERS=$(who)

Lẹhinna a le lo oniyipada ninu gbolohun ọrọ ti o han ni lilo pipaṣẹ iwoyi bii bẹ:

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

Ninu aṣẹ loke: asia -e tumọ si tumọ eyikeyi awọn ọna abayo (bii fun tito laini) ti a lo. Lati yago fun jafara akoko bii iranti, nirọrun ṣe iyipada aṣẹ laarin aṣẹ iwoyi bi atẹle:

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

Nigbamii, lati ṣe afihan imọran nipa lilo fọọmu keji; a le tọju iye awọn faili lapapọ ninu itọsọna iṣẹ lọwọlọwọ ninu oniyipada kan ti a pe ni FILES ki o si sọ ni atẹle bi atẹle:

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

Iyẹn ni fun bayi, ninu nkan yii, a ṣalaye awọn ọna ti fifun ipinfunni aṣẹ aṣẹ ikarahun si oniyipada kan. O le ṣafikun awọn ero rẹ si ipo yii nipasẹ apakan esi ni isalẹ.