Bash Paano Gumagawa ng isang Command sa isang Variable?

Bash How Execute Command Variable



Ang mga script ng Bash ay maaaring malikha sa iba't ibang mga iba't ibang paraan at karamihan sa atin ay pamilyar sa pagpapatupad ng mga simpleng utos sa loob ng isang Bash script. Gayunpaman, ang mga utos na ito ay maaari ding mai-encapsulate sa loob ng mga variable sa Bash. Ang prosesong ito ay kilala bilang pagpapalit ng utos at karaniwang ginagamit ito upang maiimbak ang output ng isang utos sa isang variable upang hindi mo kailangang patakbuhin ang utos na iyon nang paulit-ulit at sa halip ay maaari mong ma-access ang variable na iyon upang makuha ang output ng utos na iyon Kahit kailan mo gusto. Sa artikulong ito, ipapakita namin sa iyo kung paano ito magagawa.

Tandaan: Ang lahat ng mga sitwasyong ipinakita sa ibaba ay natupad sa Ubuntu 20.04. Gayunpaman, gagana sila nang eksakto sa parehong paraan sa anumang iba pang lasa ng Linux din.







Paraan ng Pagpapatupad ng isang Command sa isang Variable sa Bash:

Para sa pagpapakita ng pamamaraan ng pagpapatupad ng isang utos sa isang variable sa Bash, ipapakita namin sa iyo ang tatlong magkakaibang mga sitwasyon na kung saan ay ang mga sumusunod:



Pagpapatupad ng echo Command na Nakaimbak sa isang Variable:

Ito ang pinakasimpleng sitwasyon kung saan ang aming layunin ay upang maisagawa ang utos ng echo na nakaimbak sa isang variable. Upang mangyari ito, kailangan mong sundin ang serye ng mga hakbang na nabanggit sa ibaba:



Hakbang # 1: Lumilikha ng isang Bash Script:

Kailangan mong lumikha ng isang Bash Script sa iyong folder sa Home kung saan kailangan mong mag-click sa icon ng File Manager na nakikita mo mula sa sumusunod na imahe:





Maghanap ngayon ng anumang puwang sa iyong Home folder at mag-right click dito upang maglunsad ng isang menu. Piliin ang opsyong Bagong Dokumento mula sa menu na ito at pagkatapos ay piliin ang opsyong Empty Document mula sa sub-cascading menu. Ang paggawa nito ay lilikha ng isang bagong dokumento sa iyong folder sa Home. Ngayon palitan ang pangalan ng bagong nilikha na dokumento na may anumang pangalan na iyong pinili na sinusundan ng .sh extension. Sa aming kaso, pinangalanan namin ito bilang CommandVar.sh.



Para sa pagsusulat ng isang Bash script sa file na ito, mag-double click dito upang buksan ito at pagkatapos ay i-type ang script na ipinapakita sa imahe sa ibaba sa iyong Bash file. Dito, ang unang linya ng script hal. #! / Bin / bash ay nagpapakita na ang file na ito ay sa katunayan isang Bash file. Pagkatapos ay lumikha kami ng isang variable na pinangalanang pagsubok at itinalaga ito sa halagang $ (echo Hi there!). Kailan man nais mong itabi ang utos sa isang variable, kailangan mong i-type ang utos na iyon na paunahan ng isang simbolo na $. Sa kasong ito, nais naming iimbak ang utos ng echo sa variable ng pagsubok kaya na-type lang namin ang utos ng echo na sinusundan ng isang random na mensahe at nakapaloob ito sa mga bilog na braket, at naglagay ng isang simbolo na $ bago ito. Kaya ngayon, kung nais naming isagawa ang utos ng echo na ito, kakailanganin nating ma-access ang variable ng pagsubok. Samakatuwid, upang mapatunayan kung ang echo command na nakaimbak sa variable ng pagsubok ay maaaring matagumpay na maipatupad o hindi, nai-print namin ang output ng variable ng pagsubok sa terminal sa pamamagitan ng paggamit ng isa pang utos ng echo. Matapos i-type ang script na ito, kailangan mong i-save ang iyong file at isara ito.

Hakbang # 2: Pagpapatupad ng Bash Script sa pamamagitan ng Terminal:

Ngayon ay kailangan mong isagawa ang script na ito sa pamamagitan ng terminal. Kaya, buksan ang terminal sa Ubuntu 20.04 at pagkatapos ay i-type ang sumusunod na utos dito:

bashCommandVar.sh

Kapag pipindutin mo ang Enter key upang maipatupad ang utos na ito, makikita mo ang sumusunod na output sa iyong terminal. Dito, ang naka-highlight na bahagi ng output ay ang output ng utos ng echo na naimbak sa variable ng pagsubok.

Pagpapatupad ng seq Command na Nakaimbak sa isang Variable:

Sa senaryong ito, mai-print namin ang isang pagkakasunud-sunod ng mga numero sa pamamagitan ng paggamit ng seq command na nakaimbak sa isang variable. Para mangyari ito, babaguhin namin ang script ng Bash na nilikha sa itaas sa pamamagitan ng pagsasagawa ng mga sumusunod na hakbang:

Hakbang # 1: Pagbabago ng Bash Script na Nilikha sa itaas:

Buksan ang Bash file na iyong nilikha sa pamamaraan sa itaas at i-type ang sumusunod na script dito. Dito, lumikha kami ng isang variable na pinangalanang pagkakasunud-sunod. Ang aming layunin ay i-print ang mga numero mula 1 hanggang 10 habang ginagamit ang seq command. Para sa paggawa nito, itinalaga namin ang halagang $ (seq 1 10) sa variable ng pagkakasunud-sunod. Maaari mo ring tukuyin ang anumang iba pang saklaw ng mga bilang na iyong pinili kung nais mo. Ang unang numero pagkatapos ng seq utos ay nagpapahiwatig ng mas mababang hangganan ng pagkakasunud-sunod samantalang ang pangalawang numero ay tumutukoy sa itaas na nakatali. Matapos i-type ang script na ito, i-save ang iyong file at isara ito.

Hakbang # 2: Pagpapatupad ng Binagong Bash Script sa pamamagitan ng Terminal:

Ipatupad ngayon ang iyong Bash script sa parehong paraan tulad ng ipinaliwanag sa itaas at makikita mo ang tinukoy na pagkakasunud-sunod sa iyong terminal tulad ng ipinakita sa imahe sa ibaba:

Pagpapatupad ng 'pwd' Command na Nakaimbak sa isang Variable:

Maaari mo ring mai-print ang iyong direktoryo sa pagtatrabaho sa pamamagitan ng paggamit ng pwd utos na nakaimbak sa isang variable. Upang maipakita ito, babaguhin namin ang script ng Bash na nilikha sa itaas muli sa pamamagitan ng pagsunod sa mga hakbang na nabanggit sa ibaba:

Hakbang # 1: Pagbabago ng Bash Script na Nilikha sa itaas:

Buksan ang Bash file na ngayon mo lamang nabago at pagkatapos ay i-type ang script na ipinakita sa sumusunod na imahe dito. Sa script na ito, lumikha kami ng isang variable na pinangalanang working_directory at inatasan ito ng halagang $ (pwd). Itatago lamang ng utos ng pwd ang output nito ie ang kasalukuyang gumaganang direktoryo sa variable na nagtatrabaho_directory. Para matiyak kung ang utos ng pwd ay naipatupad nang tama o hindi, na-print namin ang halaga ng variable na nagtatrabaho_directory sa terminal sa pamamagitan ng paggamit ng echo command. I-save ngayon ang file na ito at pagkatapos isara ito pagkatapos i-type ang binagong script ng Bash dito.

Hakbang # 2: Pagpapatupad ng Binagong Bash Script sa pamamagitan ng Terminal:

Ipatupad ngayon ang script na Bash na ito sa parehong paraan tulad ng ipinaliwanag sa itaas. Ipapakita sa iyo ng output ng Bash script na ito ang kasalukuyang gumaganang direktoryo. Ang naka-highlight na bahagi ng output ay sa katunayan, ang output ng pwd utos.

Konklusyon:

Ang artikulong ito ay nagbibigay ng isang napakahusay na ideya kung paano ka maaaring magpatupad ng isang utos na nakaimbak sa loob ng isang variable sa Bash at maaaring makakuha ng parehong output tulad ng nakukuha mo kung nagpapatakbo ka ng utos nang nakapag-iisa.