Kif Tassenja Output ta 'Kmand Linux għal Varjabbli


Meta tmexxi kmand, tipproduċi xi tip ta 'output: jew ir-riżultat ta' programm jissoponi li jipproduċi jew messaġġi ta 'status/żball tad-dettalji tal-eżekuzzjoni tal-programm. Xi drabi, tista 'tkun trid taħżen l-output ta' kmand f'varjabbli biex tintuża f'operazzjoni aktar tard.

F'din il-kariga, se nirrevedu l-modi differenti ta 'l-assenjazzjoni tal-output ta' kmand tal-qoxra għal varjabbli, speċifikament utli għall-iskop ta 'scripting tal-qoxra.

Biex taħżen l-output ta 'kmand f'varjabbli, tista' tuża l-karatteristika ta 'sostituzzjoni tal-kmand tal-qoxra fil-formoli hawn taħt:

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

Hawn taħt hawn ftit eżempji ta 'użu tas-sostituzzjoni tal-kmand.

F'dan l-ewwel eżempju, aħna se naħżnu l-valur tal-kmand who (li juri min huwa logged fis-sistema) fil-varjabbli CURRENT_USERS utent:

$ CURRENT_USERS=$(who)

Imbagħad nistgħu nużaw il-varjabbli f'sentenza murija bl-użu tal-kmand echo bħal dan:

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

Fil-kmand ta' hawn fuq: il-bandiera -e tfisser tinterpreta kwalunkwe sekwenza ta' ħarba (bħal għal linja ġdida) użata. Biex tevita li taħli l-ħin kif ukoll il-memorja, sempliċement wettaq is-sostituzzjoni tal-kmand fi ħdan il-kmand tal-echo kif ġej:

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

Sussegwentement, biex turi l-kunċett bl-użu tat-tieni forma; nistgħu naħżnu n-numru totali ta’ fajls fid-direttorju tax-xogħol kurrenti f’varjabbli msejħa FILES u nirrepetuha aktar tard kif ġej:

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

Dak hu għalissa, f'dan l-artikolu, spjegajna l-metodi ta 'l-assenjazzjoni tal-output ta' kmand tal-qoxra lil varjabbli. Tista 'żżid il-ħsibijiet tiegħek ma' din il-kariga permezz tat-taqsima ta 'feedback hawn taħt.