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.