Различни примери за Subshell
Различните начини за изпълнение на скрипта в подобвивката са показани в тази част на урока.
Пример 1: Изпълнете подобвивката с помощта на единични кавички и двойни кавички
Създайте Bash файл със следния скрипт, който отпечатва текущите дата и час. След това променливата $strVal се отпечатва чрез затваряне на скрипта на subshell в единичните и двойните кавички.
#!/bin/bash
#Отпечатайте командата `date` в подобвивката
ехо 'Днес е `дата` '
#Дефиниране на низова променлива
strVal = 'Bash Subshell'
#Отпечатайте променливата в подобвивката, като използвате единични кавички
ехо „Резултатът от единични кавички:“ '$(echo $strVal)'
#Отпечатайте променливата в подобвивката, като използвате двойни кавички
ехо „Резултатът от двойни кавички:“ ' $(echo $strVal) '
След изпълнението на скрипта се появява следният изход. Скриптът на subshell се отпечатва като низ, когато е ограден с единични кавички. Скриптът на subshell се изпълнява, когато е ограден с двойни кавички:
Пример 2: Търсене във всички файлове с конкретното разширение с помощта на Subshell
Създайте Bash файл със следния скрипт, който приема файловото разширение като вход от потребителя. След това командата 'ls' се изпълнява в подобвивката, за да търси всички файлове с това конкретно разширение.
#!/bin/bash
ехо -н „Въведете името на файловото разширение:“
#Вземете името на файловото разширение, което ще се търси
Прочети вътр
#Проверете въведената стойност
ако [ [ $ext == '' ] ] ; тогава
#Отпечатайте съобщение за грешка
ехо „Не се дава удължаване.“
друго
ехо „Имена на файлове с $ext разширение:'
#Отпечатайте всички имена на файлове с даденото разширение
ехо ' $( ехо `ls *.$ext` ) '
бъда
Следният изход се появява след изпълнение на скрипта с входа „txt“. Според изхода съществуват три текстови файла в текущото местоположение:
Следното извеждане се появява след изпълнение на скрипта с празна стойност:
Пример 3: Изпълнете аритметичния израз в Subshell
Създайте Bash файл със следния скрипт, където променливата със същото име се използва в основната обвивка и подобвивката. Аритметичната операция е дефинирана в основната обвивка и подобвивката.
#!/bin/bash#Дефинирайте родителска променлива на обвивката
номер = 10
#Отпечатайте резултата въз основа на променливата на родителската обвивка
( ( резултат = $номер + 5 ) )
ехо 'Сумата от $номер +5= $резултат '
#Създайте променлива на subshell със същото име на родителската обвивка
( номер = двадесет ; ( ( резултат = $номер + 10 ) ) ; ехо 'Сумата от $номер +5= $резултат ' )
#Отпечатайте отново резултата въз основа на променливата на родителската обвивка
ехо 'Сумата от $номер +5= $резултат '
След изпълнението на скрипта се появява следният изход. Първият и последният изход показват резултата от основната обвивка. Вторият изход показва резултата от подчерупката. Променливата на основната обвивка не се променя от променливата на подобвивката:
Пример 4: Изпълнение на множество команди в Subshell
Създайте Bash файл със следния скрипт, който изпраща резултата от командата „echo“ в командата „sed“, която замества съответстващата стойност на низ с друг низ. Резултатът от командата „echo“ е „JavaScript“. И така, тази стойност се сравнява с „Java“ и „JavaScript“. Ако бъде намерено съвпадение, съвпадащите низове се заменят с низа „Тип“.
#!/bin/bash#Дефинирайте стойност на низ
strVal = 'JavaScript'
#Отпечатайте стойността на оригиналния низ
ехо „Стойност на низ: $strVal '
#Отпечатайте стойността на подобвивката
ехо -н 'Стойност на подобвивката: '
ехо ' $(echo $strVal | sed 's|Java|JavaScript Type|') '
След изпълнението на скрипта се появява следният изход. Според изхода низът „Java“ се заменя с низа „Тип“. Резултатът от подчерупката е „JavaScript TypeScript“:
Заключение
Една или повече команди или скриптове могат да бъдат изпълнени с помощта на подобвивката, без да се засяга основната обвивка. Целите на използването на подобвивката са обяснени в този урок с множество примери. Различни типове задачи като търсене във файлове, изчисляване на сумата от числа, замяна на низове и т.н. се изпълняват от подобвивката в дадените примери. Концепцията за използване на подобвивката е правилно демонстрирана и новите потребители на Bash вече ще могат да използват подобвивката, след като прочетат този урок.