Програмирането на Bash script е последователност от изпълними команди, изпълняващи множество команди наведнъж, автоматизация на изпълнението на задачите и персонализиране на административни задачи. По принцип всички потребители на Linux трябва да се запознаят с основните познания за програмиране на bash скриптове поради важността, която предлага.
Ефективното взаимодействие с командния ред е сред основните аспекти, които предоставя bash скриптове. Това означава, че потребителят може ефективно да изпълнява изпълними команди. Това облекчава стреса от необходимостта да изпълнявате задачи ръчно.
35 Примери за Bash Script
Тази статия ще ви преведе през основните основи, които трябва да знаете, за да започнете с bash скриптове. Нека да разгледаме примерите за скрипт 35 Bash:
1. Първа програма за баш
За да стартирате и стартирате bash файл, трябва да го изпълните, като изпълните команда на терминал. Например, ако пуснем “Hello World” в нашия терминал, изходът, който получаваме, ще бъде “Hello World.”
За да създадете bash файл, можете да използвате всеки текстов редактор, инсталиран във вашата операционна система. В този случай ще използваме нано редактора за създаване на файла. Нека назовем нашия файл „Първо.ш. Изпълнете командата, като използвате следната команда:
nano Първо.ш
Добавете следния bash скрипт към файла, преди да го запазите.
#!/ bin / bash echo “Hello World”
Има различни начини за изпълнение на команди bash. Например, по-долу са два различни примера за изпълнение на bash.
./ Първо.ш
Като алтернатива можете да използвате командата по-долу:
chmod a + x Първо.ш ./ Първо.ш
2. Ехо команди
Ехо командите имат множество опции за избор. Например има добавяне на нов ред по подразбиране, ако използвате командата 'echo' без друга опция. Като алтернатива можете да използвате '-n', за да отпечатате всеки текст без нов ред. Използвайте командата '-e', за да премахнете обратите наклонени черти от дадения изход. За да демонстрирате това, създайте bash файл с име 'echo_example.ш. След това добавете скрипта по-долу
#!/ bin / bash Echo „отпечатване на текст с нов ред“ Echo -n „отпечатване на текст без нов ред“ Echo -e “\ n Премахване \ t наклонена черта \ t символи
След добавяне на скрипта изпълнете файла с командата по-долу:
bash echo_example.ш
3. Използване на коментар
Докато използваме коментари, ние използваме символа „#“, за да добавим едноредов коментар в bash скриптове. Тук ще създадете нов файл с просто име като 'comment_example'. Включете скрипт с един коментар като примера, показан по-долу.
#!/ bin / bash # Добавяне на две стойности ((сума 30 + 20))
# след това отпечатайте резултата echo $ sum
изпълнете файла с командния ред на bash
4. Многоредов коментар
В bash, многоредовият коментар е приложим по различни начини. За да докажете това, създайте нов баш с име, пример за многоредов коментар.sh ', след това добавете символи за скриптове': 'и „'“, за да добавите многоредов коментар в скрипта. Следващият пример ще изпълни квадрата 2.
#!bin / bash: 'Сценарият, написан по-долу, се използва за изчисляване на квадрата на 2' ((площ = 2 * 2)) echo $ area изпълнява файла с команден ред bash
bash multiline-comment-example.ш
5. Докато Loop
За лесно разбиране на този bash скрипт, създайте файл с име 'while_sample.ш. Цикълът while ще се повтори пет пъти, преди да прекрати процеса. Докато се повтаря, променливата count увеличава броя с 1 на всяка стъпка до петия път, когато цикълът спре.
#!/ bin / bash валидно = True count = 1, докато [$ valid] echo $ count ако [$ count -eq 5]; след това разбийте fi ((count ++)) готово
изпълнете файла с командния ред на bash
bash while_example.ш
6. За Loop
Обърнете внимание на следния пример за цикъл. След създаване на файл с име 'for_sample.sh ', добавете скрипта с помощта на' for loop '. Този процес ще се повтори 12 пъти. След това ще покаже полетата в един ред, както е показано по-долу;
#!/ bin / bash за ((брояч = 10; брояч> 0; брояч--)) do echo -n "$ counter" done printf "\ n"
Изпълнете командата, като изпълните кода по-долу
bash for_sample.ш
7. Вземете потребителско въвеждане
За да получим потребителски данни от bash, ще използваме командата 'read'. Следвайте простите стъпки по-долу, за да постигнете очакваните резултати. Първо създайте файл с име „user_feedin“.sh 'и включете скрипта по-долу, за да получите въведеното от потребителя. Една стойност ще бъде взета и показана чрез комбиниране на други низови стойности. Както е посочено по-долу,
#!/ bin / bash echo "Въведете вашето име" прочетете име echo "Добре дошли $ име във FossLinux"
изпълнете файла с командния ред на bash
bash user_feedin.ш
8. Ако изявление
Операторът if се използва както от множество, така и от единични условия. Дефиницията на „ако“ и „fi“ се използва преди и след оператор if. За да разберем лесно израза if в bash, ще използваме пример. Създайте файл с име 'example_if.ш.
Например, на номер 4 се присвоява променлива.„Ако числото се дели на 2, тогава изходът ще бъде„ дели се на 2 “; в противен случай, ако числото не се дели на 2, тогава резултатът ще бъде „не се дели на 2“. В този случай '-lt' се използва за целите на сравнението. Друга функция за сравнение е '-eq.„-Ne“, от друга страна, се използва за показване на неравенство, докато „-gt“ показва дали дадена стойност е по-значима в bash script.
#!/ bin / bash s = 4 ако [$ s / 2]; тогава echo "Не се дели на 2" else echo "Дели се на 2" fi
изпълнете файла с командния ред на bash
bash example_if.ш
9. Използване на оператора if заедно с логиката AND
Различни логически условия могат да се използват с оператора if, когато има две или повече условия. Примерът по-долу показва как логиката „И“ се използва при дефиниране на множество условия в оператор if. Символите “&&” представляват логиката “И” в bash скрипт. Създайте файл с име 'if_plus_AND.ш.
В този пример променливите за потребителско име и парола, въведени от потребителя, ще бъдат сравнени с директорията „main“ и „users“, за да се види дали те съвпадат. Ако го направят, процесът ще бъде успешен, като по този начин ще се покаже като валиден потребител като изход. В противен случай, ако те не съвпадат, резултатът ще бъде „невалиден потребител.”
!/ bin / bash
echo "въведете потребителско име" прочетете потребителско име echo "въведете парола" прочетете парола
ако [[($ username == "main" && $ password == "users")]]; след това echo "валиден потребител" else echo "невалиден потребител" fi
Изпълнете файла, като използвате командния ред на bash
bash if_plus_AND.ш
Първият пример показва неуспешно удостоверяване, тъй като предоставеният от потребителя не съвпада с основните полета.
Вторите примери показват успешно удостоверяване, тъй като предоставените полета съвпадат с основните полета.
10. Използвайте оператор if с логика OR
Когато използвате ИЛИ с функцията if, '||' се използва символ. За да демонстрираме това, ще създадем файл с име „if_with_OR.sh ', за да провери използването на логиката ИЛИ в оператор IF. Вземете пример за присвояване на стойност 's на две числа (10 или 40). Ако потребителят въведе някое от дадените числа, изходът на системата ще бъде „Добре изигран“; в противен случай показаният резултат ще бъде „Извинете, не успяхте.”Ако разгледате този пример, ще забележите, че стойността на s се генерира от потребителя.
#!/ bin / bash echo "Въведете произволно число" прочетете s, ако [[($ s -eq 10 || $ n -eq 40)]] след това echo "Добре възпроизведено" else echo "Извинете, не сте успели" fi
изпълнете файла с командния ред на bash
bash if_with_OR.ш
Както е посочено в горния пример, 5 не е равно на 10 или 40. Следователно изходът показва „Съжаляваме, не сте успели“
На фигурата по-горе потребителят е бил подканен да въведе произволно число и той е избрал 10, а изходът е „Добре изигран“, тъй като 10 == 10
11. Използване на инструкция else if
Много условни изрази са почти еднакви въпреки избраните от вас езици за програмиране. Въпреки това, в bash програмирането, използването на условието "else if" е нещо различно. В bash Elif се използва вместо условието else if. Ще създадем файл с име „elseif_instance“.sh 'след това добавете bash скрипта за демонстрационни цели.
echo "Въведете вашето щастливо число" прочетете n, ако [$ n -eq 50]; след това ехо "Вие спечелихте 1-во браво!!!!"elif [$ n -eq 100]; then echo" Спечелихте 2-ра поздравления!!!!"elif [$ n -eq 500]; then echo" Спечелихте 3-та поздравления!!!!"else echo" Извинете, трябва да продължите да опитвате приятел "fi
Изпълнете файла с командния ред на bash
Баш elseif_instance.ш
Изпълнението по-горе показва трите екземпляра, извършени от bash.
12. делото
Чували ли сте някога за изявлението „if-elseif-else“? Ако не, не се притеснявайте, тъй като тук ще бъде разгледано. Декларацията Case се използва като заместител на оператора if-elseif-else. 'Case' и 'esac' очертават съответно началния и завършващия блок, докато използвате този израз. За повече подробности един пример ще бъде от голяма помощ. Създайте файл с име 'case_example.ш. След това включете скрипта, предоставен по-долу. След това разгледайте резултата и го сравнете с предишния. Ще забележите, че резултатите както от делото, така и от if-elseif-else са еднакви.
#!/ bin / bash echo "Input your Lucky Number" read s case $ s in 50) echo echo "Спечелихте първото браво!!!!";; 100) echo" Спечелихте 2-ра поздравления!!!!";; 500) echo" Спечелихте 3-та поздравления ";; *) echo" Извинете, трябва да продължите да опитвате приятелю ";; esac
изпълнете файла с командния ред на bash
bash case_example.ш
13. Получаване на аргументи от командния ред
Bash скриптът може да емулира как други езици за програмиране получават входни данни от командния ред. Погледнете екземпляр, при който променливи $ 1 и $ 3 се използват, за да прелистват съответно аргументите от първия и третия команден ред. За повече подробности нека създадем файл с име „команден ред.sh 'и включете скрипта по-долу. В крайна сметка изходът е отпечатъкът на общия брой аргументи, прочетени от скрипта.
#!/ bin / bash echo "Общо аргументи: $ #" echo "1-ви аргумент = $ 1" echo "3-ти аргумент = 3 $"
Изпълнете файла с командния ред на bash
bash command_line.sh Уебсайт на Foss Linux
14. Получавайте аргументи от командния ред с имена
Този раздел демонстрира как да се четат аргументи от командния ред, които съдържат имена. За да направите това, създайте файл с име 'command_line_names.ш. След това добавете код с два аргумента: A, B, за да бъде прочетен от скрипта и изчислете сумата от A и B.
#!/ bin / bash за arg в "$ @" do index = $ (echo $ arg | cut -f1 -d =) val = $ (echo $ arg | cut -f2 -d =) case $ index в A) a = $ val ;;
Б) b = $ val ;;
*) esac готово ((резултат = a + b)) ехо "A + B = $ резултат"
Изпълнение с команда bash. Кодът по-долу е комбинация от двата аргумента на командния ред.
bash command_line_names.sh A = 10 B = 16
15. Интегрирани низови променливи
Bash има някои значителни предимства, които помагат на програмиста да изпълнява задачи бързо. Интегрирането на променливи в низ е комбинация от две или повече променливи. За да демонстрирате това, създайте файл с име „string_combination“.ш. След това добавете скрипта, предоставен по-долу, и вижте как можете да интегрирате променливи от низа, като поставите променливи заедно, използвайки оператора '+'.
#!/ bin / bash stringA = "Foss" stringB = "Linux" echo "$ stringA $ stringB" stringC = $ stringA + $ stringB stringC + = "има най-добрите онлайн уроци" echo $ stringC
изпълнете файла с командния ред на bash
bash низ_комбинация.ш
16. Как се получава подниз от низ
Bash липсва вградена функция за отрязване на стойности от низ от данни, точно както другите езици за програмиране. Въпреки това, bash ви позволява да извършите отрязването на поднизовете по различен начин, както е показано в скрипта по-долу. Създайте файл с име 'substring_example.ш. В този случай стойността 7 показва изпъкналата точка на подниза, докато 6 показва общата дължина на подниза.
#!/ bin / bash Str = "Свържете се с блогов сайт на FossLinux" subStr = $ Str: 4: 9 echo $ subStr
Изпълнение с команда bash
bash substring_example.ш
17. Събиране на две числа
Bash поддържа аритметични операции по различни и сложни начини. За да покажете сложните предимства на bash, ще направите сумата от две цели числа, като използвате двойни скоби, както е показано по-долу. Първо ще създадете файл с име 'sum_numbers.sh 'с помощта на кода по-долу. Функцията ще подкани потребителя да въведе първата цифра, след това втората цифра и накрая да отпечата резултата, който изчислява двете цели числа на потребителя.
#!/ bin / bash echo "въведете първа цифра 1" прочетете ехо "въведете цифра 2" прочетете b ((сума = a + b)) ехо "Резултат = $ сума"
Изпълнете файла с командния ред на bash
bash sum_numbers.ш
18. създаване на функция
Bash скриптове позволява на потребителя да създаде функция и да извика същата функция. Това е демонстрирано в примера по-долу. Създайте файл с име 'function_example.sh 'и въведете контурния контур в пробата. Тук ще изберете произволна функция произволно по име, без да посочвате каквито и да е скоби на bash скрипт.
#!/ bin / bash функция x () ехо 'Обичам fosslinux'
х
Изпълнете файла, като използвате командния ред по-долу;
bash function_example.ш
19. Създаване на функционалност с параметри
В bash програмирането можете да използвате параметри във функция, като използвате други променливи. Извикайте първата стойност $ 1 и втората стойност $ 2 в случай, когато двете стойности се извикват едновременно с функцията за четене на стойностите. За да установите това, ще създадете файл с име 'function_parameter.ш. Нека намерим площта на правоъгълник 'Rectangle_Area', използвайки дадените параметри.
#!/ bin / bash Rectangle_Area () area = $ (($ 1 * $ 2)) echo "Площта е: $ area" Rectangle_Area 15 25
Изпълнете файла с командата bash.
bash function_parameter.ш
20. Предаване на връщане на стойност от функция
Когато се занимава с връщане на стойности при програмиране на bash, bash има вградена функция, която позволява предаването на числови и низови стойности. Следващият пример показва предаването на низови стойности във функция. Ще създадете файл, наречен 'function_return.sh 'и включете кода по-долу за лесно разбиране. Функцията grow () връща стойност на низ в променливата, която по-късно извежда резултатите от интегрирания низ.
#!/ bin / bash функция поздрав () str = "Добро утро, $ fname" ехо $ str ехо "Въведете вашето име" прочетете fname val = $ (поздрав) ехо "Връщащата стойност на функцията е $ val"
Изпълнете файла с командния ред на bash
bash function_return.ш
21. Направете директория
'Mkdir' е команда, използвана за създаване на нова директория. Тази команда означава "направи директория". Създайте файл с име 'make_directory.ш. След това въведете код, който ще създаде нова директория. Bash ще създаде нова директория за вас.
#!/ bin / bash echo "Въведете ново име на директория" прочетете newdir 'mkdir $ newdir'
Изпълнете файла с командния ред на bash
bash make_directory.ш
22. Създаване на директория чрез проверка на нейното съществуване
'-d' е команда, която помага на потребителя да проверява за съществуваща директория в текущото местоположение на компютъра или не. Това пречи на човек да изпълни командата 'mkdir', когато не е сигурен дали има директория или не. За демонстрация създайте файл с име „directory_exists“.sh 'и добавете кода, написан по-долу, за да проверите дали съществува директория.
#!/ bin / bash echo "Въвеждане на ново име на директория" прочетете ndir ако [-d "$ ndir"] след това echo "Дадената директория съществува" else 'mkdir $ ndir'echo "Директорията е създадена" fi
Изпълнение с команда bash.
Bash директория_съществува.ш
23. Четене на файл
Bash има циклична функционалност, която помага на потребителя да чете всеки файл. Тук ще покажем най-лесния начин да ви накараме да разберете. Ще направим това, като създадем примерен файл с име 'read_file.sh 'и добавете кода по-долу, за да определите съществуващия файл, наречен' langeages.текст.'
#!/ bin / bash file = "езици.txt "докато четете ред; направете ехо $ ред готов < $file
Изпълнете файла с командния ред на bash
bash read_file.ш
За да проверите оригиналното съдържание на езиците.txt, изпълнете командата по-долу.
котешки езици.текст
24. Изтриване на файл
В bash програмирането се използва команда 'rm' за премахване или изтриване на файлове. Ще изтрием файл с помощта на командата 'rm'. Първо създайте файл с име „delete_file“.ш. След това използвайте кода, подчертан по-долу, за да направите първоначалното име на файла на потребителя и да го премахнете. Командата '-i' е полезна, тъй като позволява на потребителите да изтрият файла.
#!/ bin / bash echo "Вмъкване на име на файл за изтриване" прочетете име на файл rm -i $ filename
Изпълнете файла с командния ред на bash.
bash delete_file.ш
25. Добавяне или добавяне към файл
Със съществуващ файл, bash има оператор '>>', който позволява добавяне на нови данни във файла. За да тествате това, създайте файл с име "add_file.ш. След това добавете код, който ще добави данни в края на текущия файл. Добавете следния низ, „изучаване на ъглово“, към „езиците“.txt 'файл след стартиране на bash скрипта.
#!/ bin / bash echo "Преди добавяне на файла" котки езици.txt echo "Изучаване на ъглови" >> езици.txt echo "След добавяне на файла" котки езици.текст
Изпълнение с команда bash.
bash add_file.ш
26. Съществуване на тестовия файл
Bash има страхотни потребителски функционалности, които го правят удобен за потребителя. В този раздел ще видим функционалността, която ви дава възможност да проверите дали даден файл съществува или не. Командите '-e' или '-f' ще ни помогнат да проверим дали файл съществува или не. За да тествате това, създайте файл с име „file_exist“.sh ', след това добавете кода по-долу. В този тест името на файла ще премине от командния ред.
#!/ bin / bash filename = $ 1 if [-f "$ filename"]; след това echo "Файл съществува" else echo "Файл не съществува" fi
Изпълнете командите, показани по-долу, за да потвърдите съществуването на файловете. В този пример езиците.наличен е txt файл, докато езиците1.txt файл не съществува.
ls bash file_exist.ш езици.txt bash file_exist.sh languages1.текст
Тези команди се използват за проверка дали файлът, който се търси, съществува или не. Например в този пример езиците.txt файл съществува, докато езиците1.txt не съществува.
27. Изпратете имейл
Командите 'mail' или 'sendmail' в bash скрипт се използват за изпращане на имейли. Тези команди ще работят ефективно след инсталиране на всички необходими пакети. За демонстрационни цели създайте файл с име „mail_example“.ш. Използвайте кодовете, подчертани по-долу, за да изпратите желания имейл.
#!/ bin / bash Получател = ”fosslinux @ пример.com ”Тема =” запитвания ”Съобщение =” Нуждаете се от нещо от блогов сайт на fosslinux?”'Mail -s $ Subject $ Recipient <<< $Message'
Изпълнете файла с командата bash.
bash mail_example.ш
28. Анализиране на текущата дата
Bash има функция, която позволява анализиране на стойностите за дата и час, върху които ще се съсредоточим в този раздел. Bash ви позволява да получите текущата дата и час, като използвате командата 'date'. „S“, „d“, „M“, „m“, „Y“ и „H“ са стойности, използвани за анализ на дата и час. Създайте файл с име 'date_parse.sh 'и добавете код, който ще отдели стойностите за месец, година, ден, час, минути и секунди.
#!/ bin / bash Year = "date +% Y" Month = "date +% m" Day = "date +% d" Hour = "date +% H" Minute = "date +% M" Second = "date +% S "echo 'date' echo" Текущата дата е: $ Day- $ Month- $ Year "echo" Текущото време е: $ Hour: $ Minute: $ Second "
Изпълнете файла с командата bash.
bash date_parse.ш
29. Командата Wait
Linux OS има вградена функция за командване, която очаква да завърши всеки работещ процес, като използва специален идентификатор, за да завърши конкретната възложена задача. Следователно, когато няма идентификатор на заданието, командата за изчакване ще изчака всички вторични цикли да завършат, преди да се върне при излизане. Създайте файл с име „wait_example“.sh 'и добавете скрипта по-долу за изпълнение.
#!/ bin / bash echo "Изчакваща команда" & process_id = $! изчакайте $ process_id echo "Излезе със статус $?"
Изпълнете файла, като използвате командата bash.
bash wait_example.ш
30. Командата за заспиване
Командата за заспиване помага на потребителя да направи пауза на текуща задача за определен период. Дава ви възможност за забавяне или спиране / пауза с часове, минути, секунди или дни. За целите на илюстрацията създайте файл и го наименувайте 'sleep_examples.sh ', след това стартирайте скрипта, показан по-долу.
Примерът има за цел да забави задачата за около 8 секунди след изпълнението.
#!/ bin / bash
ехо „Моля, бъдете търпеливи за 8 секунди“ сън 8 ехо „Завършено“
Изпълнете файла, като използвате командата bash
баш сън_примери.ш
31. Операторът И
Този оператор позволява на системата да проверява дали са изпълнени множество условия. Това означава, че всички условия, разделени от оператора AND, трябва да са верни за правилното изпълнение. Освен това операторът „&&“ се използва за означаване на „И“. За да установите това, проверете примера по-долу. Първо създайте файл, наречен „And_operator.sh 'след това го изпълнете с помощта на командния ред на bash.
#!/ bin / bash echo -n "Въведете число:" прочетете num
ако [[($ num -lt 20) && ($ num% 2 -eq 0)]]; след това echo "Това е четно число" else echo "Това е нечетно число" fi
Изпълнете файла, като използвате командния ред на bash
bash And_operator.ш
32. Операторът ИЛИ
Това е страхотна конструкция за скриптове на bash, която помага за създаването на сложна логика в скриптове. Тази конструкция работи малко по-различно от оператора 'AND', защото или връща true, когато резултатът от операндите е true. От друга страна, операторът 'или' връща false само когато и двата операнда са false. Проверете пробата по-долу за повече подробности. За да научите повече за тази конструкция, създайте файл с име „OR_operator.sh 'и завършете изпълнението му с помощта на командния ред.
#!/ bin / bash
echo -n "Въведете произволно число:" прочетете n
ако [[($ n -eq 5 || $ n -eq 30)]] след това echo "Вие спечелихте" else echo "Изгубихте!"fi
Изпълнение на командния ред с помощта на bash
bash OR_operator.ш
33. Конструкцията на превключвателя
Конструкцията Switch е приложима в ситуации, когато са необходими вложени условия. Примерът по-долу дава подробен контур. Създайте файл с име 'switch_construct.ш. След това изпълнете файла, като използвате командния ред на bash
#!/ bin / bash echo -n "Въведете число:" четете номер случай $ номер в 50) echo "Петдесет!!";; 100) ехо" Двойно петдесет!!";; *) ехо" Нито 100, нито 200 ";; esac
Изпълнете файла с командния ред на bash
bash switch_construct.ш
34. Обединяване на низове
Със своите усъвършенствани удобни възможности, bash позволява лесно изпълнение на конкатениращия низ. Това е опростено от примера по-долу. За демонстрационни цели създайте файл с име 'concatenating_strings.sh 'и стартирайте файла в командния ред на bash. Ще получите изход, подобен на този по-долу.
#!/ bin / bash string1 = "FossLinux" string2 = "Blogsite" string = $ string1 $ string2 echo "$ string е чудесен ресурс за потребителите на Linux да намерят подходящи уроци."
Изпълнете файла с командата bash
bash concatenating_strings
35. Нарязване на струни
Низът за нарязване се отнася до намаляването на части от низ. За разлика от много езици за програмиране, които предлагат съкращаване на низове, bash не предоставя тази функция. По-долу е даден пример, който да ви накара да разберете за какво говорим. Първо, създайте файл с име „slicing_strings.ш. След това изпълнете създадения файл за нарязване с помощта на командния ред на bash.
#!/ bin / bash Str = "Проучване на интелигентни команди с fosslinux" subStr = $ Str: 0: 20 echo $ subStr
Резултатът в горния скрипт трябва да бъде „Проучете интелигентните команди.'Разширяването на параметъра взема формулата VAR_NAME: S: L). в тази формула S показва началната позиция, докато L означава дължината.
bash slicing_strings.ш
Заключение
Статията обхваща 35 примера за bash скриптове, които дават на потребителя разнообразен обхват на обучение. Ако сте търсили всестранна статия с примери за скриптове на bash, това трябва да е вашият краен избор.