Bash Как да изпълня команда в променлива?

Bash How Execute Command Variable



Баш скриптове могат да бъдат създадени по различни начини и повечето от нас са запознати с изпълнението на простите команди в скрипта на Bash. Тези команди обаче също могат да бъдат капсулирани в променливите в Bash. Този процес е известен като подмяна на команда и обикновено се използва за съхраняване на резултата от команда в променлива, така че да не се налага да изпълнявате тази команда изрично отново и отново, по -скоро можете просто да получите достъп до тази променлива, за да получите резултата от тази команда когато поискаш. В тази статия ще ви покажем как това може да стане.

Забележка: Всички демонстрирани по -долу сценарии са изпълнени на Ubuntu 20.04. Те обаче ще работят точно по същия начин с всеки друг аромат на Linux.







Метод за изпълнение на команда в променлива в Bash:

За да демонстрираме метода за изпълнение на команда в променлива в Bash, ще ви представим три различни сценария, които са както следва:



Изпълнение на командата echo, съхранена в променлива:

Това е най -простият сценарий, при който нашата цел е да изпълним командата echo, която се съхранява в променлива. За да се случи това, ще трябва да следвате поредицата от стъпки, споменати по -долу:



Стъпка # 1: Създаване на Bash скрипт:

Трябва да създадете Bash Script в началната папка, за която трябва да кликнете върху иконата на File Manager, както можете да видите от следното изображение:





Сега намерете произволно място в началната папка и щракнете с десния бутон върху него, за да стартирате меню. Изберете опцията Нов документ от това меню и след това изберете опцията Празен документ от подкаскадното меню. Това ще създаде нов документ в домашната ви папка. Сега преименувайте този новосъздаден документ с произволно име по ваш избор, последвано от .sh разширение. В нашия случай сме го кръстили като CommandVar.sh.



За да напишете скрипт на Bash в този файл, щракнете двукратно върху него, за да го отворите и след това въведете скрипта, показан на изображението по -долу във вашия Bash файл. Тук първият ред на скрипта, т.е. #!/Bin/bash показва, че този файл всъщност е Bash файл. След това създадохме променлива с име test и й зададохме стойността $ (echo Здравей, там!). Винаги, когато искате да съхранявате командата в променлива, трябва да въведете тази команда, предшествана от символ $. В този случай искахме да съхраним командата echo в пробната променлива, затова просто въведохме командата echo, последвана от произволно съобщение и я затворихме в кръгли скоби и поставихме символ $ преди нея. Така че сега, ако искаме да изпълним тази ехо команда, ще трябва да получим достъп до променливата на теста. Следователно, за да проверим дали командата echo, съхранена в тестовата променлива, може да бъде успешно изпълнена или не, ние отпечатахме изхода на тестовата променлива на терминала, като използваме друга команда echo. След като въведете този скрипт, трябва да запазите файла си и да го затворите.

Стъпка 2: Изпълнение на Bash Script чрез терминала:

Сега трябва да изпълните този скрипт чрез терминала. Така че, отворете терминала в Ubuntu 20.04 и след това въведете следната команда в него:

башCommandVar.sh

Когато натиснете клавиша Enter, за да изпълните тази команда, ще можете да видите следния изход на вашия терминал. Тук маркираната част от изхода е изходът на командата echo, която се съхранява в тестовата променлива.

Изпълнение на командата seq, съхранена в променлива:

В този сценарий ще отпечатаме поредица от числа, като използваме командата seq, съхранена в променлива. За да се случи това, ние ще променим създадения по -горе скрипт Bash, като изпълним следните стъпки:

Стъпка # 1: Промяна на Bash скрипта, създаден по -горе:

Отворете файла Bash, който сте създали в горния метод и въведете следния скрипт в него. Тук създадохме променлива с име последователност. Нашата цел е да отпечатаме числата от 1 до 10, докато използваме командата seq. За да направим това, присвоихме стойността $ (seq 1 10) на променливата на последователността. Можете също така да посочите всеки друг диапазон от номера по ваш избор, ако желаете. Първото число след командата seq показва долната граница на последователността, докато второто число се отнася до горната граница. След като въведете този скрипт, запишете файла и го затворете.

Стъпка 2: Изпълнение на модифицирания Bash скрипт чрез терминала:

Сега изпълнете вашия скрипт Bash по същия начин, както е обяснено по -горе, и ще можете да видите посочената последователност на терминала си, както е показано на изображението по -долу:

Изпълнение на команда „pwd“, съхранена в променлива:

Можете също да отпечатате работната си директория, като използвате командата pwd, съхранена в променлива. За да демонстрираме това, отново ще променим създадения по -горе скрипт Bash, като следваме стъпките, споменати по -долу:

Стъпка # 1: Промяна на Bash скрипта, създаден по -горе:

Отворете файла Bash, който току -що сте променили, и след това въведете скрипта, показан на следното изображение в него. В този скрипт създадохме променлива с име working_directory и й присвоихме стойността $ (pwd). Командата pwd просто ще съхранява резултата си, т.е. текущата работна директория в променливата working_directory. За да гарантираме дали командата pwd е изпълнена правилно или не, ние отпечатахме стойността на променливата working_directory на терминала, като използваме командата echo. Сега запишете този файл и след това го затворете, след като въведете модифицирания скрипт Bash в него.

Стъпка 2: Изпълнение на модифицирания Bash скрипт чрез терминала:

Сега изпълнете този скрипт Bash по същия начин, както е обяснено по -горе. Резултатът от този скрипт Bash ще ви покаже текущата работна директория. Маркираната част от изхода всъщност е изходът на командата pwd.

Заключение:

Тази статия дава много добра представа за това как можете да изпълните команда, която се съхранява в променлива в Bash и може да получите същия изход, който бихте получили, ако изпълните командата независимо.