Съдържание
В bash също е добре да се разделят нещата, например функциите, общи за всички програми, те могат да се съхраняват в един набор от библиотеки, за да се използват по -късно от други програми.В този пример ще изградим библиотечен файл, където ще поставим нашите функции и друг, който използва този файл. Нещото, което трябва да запомните, е да използвате абсолютните пътища.
Ще създадем нашия библиотечен файл за това, нашия библиотечен файл, който ще бъде разположен на стратегическо място за неговото използване, в / usr / local / bin файлът ни ще се нарича libreriaBash.sh
Отваряме или го създаваме с текстов редактор като Gedit или ако сте експерт с прост команден редактор като nano или vi. Вътре можем да намерим следния код
#! / bin / bash # Библиотечен файл # Тук можете да декларирате променливи, ако искате. #Показване на функцията за системна дата и час сега {local timeNow local ret timeNow = $ (дата + "% d /% m /% Y% H:% M:% S.% s") ret = $? echo $ timeNow} #Изключване на компютъра при x time функция изключване {echo "Време за изключване (мин):" време за четене sudo shutdown -h $ time} #Деинсталирайте приложение, то се предава по параметър и изисква root root функция деинсталиране {sudo apt-get remove $ application} #ако е инсталиран scrot, можем да правим екранни снимки екранни снимки {scrot -e 'mv $ f ~ / Images / scrot / `date +% d-% m-% y_% H:% M:% S`_capture.png.webp '}
Декларираме променливите локални за функцията, ако не направим това, променливите, които съответстват на името, ще бъдат повлияни от функцията и обратно.
След като направим нашия библиотечен файл и без да забравяме, че той трябва да има атрибути за изпълнение, ние ще създадем нашата програма, която ще използва тази библиотека.
Сега нека видим съдържанието на нашия файл test2.sh
#!/bin/bash #файл test2.sh #включва библиотеките ./usr/local/bin/libreriaBash.sh mytime = $ (сега) echo "пример за извеждане на библиотечна функция: $ mytime" ехо "пример две от библиотечната функция изход: $ (сега) "
Забелязваме също, че функциите могат да се използват, без да се предават на променлива.
Имайте предвид, че има много малка разлика между извикването на bash, за да го включите в нашата програма, и изпълнението на bash в друг bash.
#! /bin /bash #test2.sh файл #включва библиотеките /usr/local/bin/libreriaBash.sh
Това, което казваме, е да стартирате файла
сега можем да стартираме файла ./test2.sh
Така че можем да създаваме други скриптови файлове и да добавяме функционалности към създадените по -рано библиотеки, например можем да извикаме функцията за заснемане на екрани, които вече имаме в библиотеките от нов скрипт images.sh
#!/bin/bash #.sh файл #включва библиотеките ./usr/local/bin/libreriaBash.sh улавя
Опциите са много, тъй като друг пример за bash скрипт включва многократно изтегляне, но предаване на текстов файл като параметър
#! / bin / bash ## извикайте wget и изтеглете това, което посочваме със скоростта, която казваме ## и в папката искаме ясно ехо "Можете да въведете текстов файл" ехо "с адресите по следния начин: '-i файл .txt '"sleep 2 echo -n" Въведете адреса за изтегляне: "read download sleep 1 echo" Дестинацията трябва да е съществуваща папка на вашия компютър "echo -n" Въведете дестинационната папка: "read destination sleep 1 echo" Speed Е в kb или mb Ex: 50k 1m "ехо" или въведете 0 (нула) за неограничен "echo -n" Въведете скорост на изтегляне: "скорост на четене спящ 1 wget -c --limit -rate = $ скорост -P $ дестинация $ file download = `basename $ download` time = $ (date +% H:% M:% S) echo" Изтеглянето на $ file в $ destination в $ hour "] sleep 3
Предимството е, че можем да имаме множество библиотеки за работа с файлове, директории, сървъри, инсталиране или деинсталиране на програми, наблюдение на ресурси или извършване на повтарящи се задачи, без да се налага да въвеждаме целия код отново.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка