Били ли сте някога сте искали да научите "скриптове" в Linux? Да ги направиш е по-лесно, отколкото си мислиш. Понякога скриптовете (често наричани shell shells или bash scripts) са истински програми със сложен код вътре. Други пъти те са само дълъг списък от задачи, които потребителите обединяват, за да направят нещата по-бързи и по-лесни.

В тази статия решихме да направим кратко ръководство, обясняващо как да направите основен скрипт на shell в Linux. Този урок няма да ви превърне в експерт по баш или скриптове. Вместо това ще ви покаже колко лесно е да започнете (и най-добрите практики) скриптове в Linux.

Защо бихте направили сценарий?

Създаването на скриптове в Linux е много полезно умение. Дори и да не разбирате напълно Баш, можете да използвате ограничените си познания за терминала, за да автоматизирате и "масово изпълнявате" някои задачи или просто да отворите няколко приложения едновременно.

Например: може би сте построили Arch Linux от нулата. Операционната система е инсталирана заедно с всички основни пакети и може да стартира до терминала, когато операционната система стартира. Arch Linux отнема време за настройка, така че процесът не е завършен.

Точно в този момент потребителят може да напише Bash скрипт и да изпълни всичко наведнъж. Нито едно от тези неща не е програмиране или напреднало по този въпрос. Въпреки това, предвид факта, че потребителят разбира достатъчно за начина, по който Arch Linux работи, те ще могат да автоматизират почти целия процес след инсталирането (среда на работния плот, драйвери, потребителски настройки и т.н.).

Единственото ограничение за вашия скрипт bash е вашият собствен Linux и Баш знания! Да ги направиш е по-лесно, отколкото си мислиш.

Първи стъпки - Шебанг

Когато пишете код, нещата трябва да бъдат определени и да бъдат заредени ресурси. Когато правите скриптове с обвивката, трябва да се посочат и някои неща. В баш скриптовете това е известно като "shebang". Шебангите, използвани в скриптовете, разказват на скрипта кой тълкувател трябва да изпълни. Това може да е баш или други скриптове, налични във вашата система. Имайте предвид, че различните езици имат свои собствени шебанг.

Например: Когато пишете Python скрипт, шебангът би бил #!/usr/bin/python и т.н.

Баш има много различни shebangs, които могат да бъдат използвани, но повечето потребители вероятно са виждали само #!/bin/bash one. Като общо правило, използвайте #!/bin/bash когато пишете прост скрипт и не планирате да го свалите от Linux. Всички съвременни дистрибуции на Linux са на една и съща версия на bash, а bash shell обикновено се намират на едно и също място.

Друг шебанг, който се окаже полезен, е #!/usr/bin/env bash shebang. Това е предназначено за преносимост и трябва да се използва, ако скриптът е предназначен за работа с други Unix-подобни операционни системи (BSDs, macOS и т.н.).

Най-добри практики

Писането на скриптове в Баш може да бъде сложен процес, ако писателят го прави по този начин. По-често скриптовете са просто колекция от различни операции. Преместване на файл, изтегляне на нещо, инсталиране на програми и такива неща.

  • Имайте предвид, че Баш е език, предназначен да манипулира файлове и процеси в системата. Ако Баш отговаря на вашите нужди, това е добре. Разбираш обаче, че за напреднали програми, Баш наистина не е правилният избор и най-добре е да се преместиш в нещо като Питон.
  • Направете скриптовете си "SH" съвместими и във формат ".sh", ако планът е да използвате скриптове на повече от една платформа Linux. Въпреки, че други UNIX-подобни операционни системи могат да имат "баш-подобни" черупки, някои нямат bash изобщо и е добре да бъдете подготвени за това.
  • Научете обвивката Bash и как тя работи. Това ще ви помогне да напишете скриптове по-добре.
  • Винаги използвайте шебанг и още по-важно: използвайте правилния . Това може да означава разликата между добър скрипт и ужасен, който не работи правилно.
  • Винаги коментирайте всяка операция. След шест месеца може да се върнете към скрипта си и да се запитате какво означава всичко, така че е от решаващо значение скриптът ви да е добре документиран и лесен за разбиране (за вас и за всеки друг, който може да го види).
  • Направете своя код четим. Дори ако скриптът ви не е сложен, все още трябва да има смисъл и да го направите е по-лесно, отколкото бихте могли да мислите.
  • Изпробвайте скрипта си за грешки, преди да го предадете на други хора. Не правете други тестове за грешки за вас. В идеалния случай скриптовете трябва да работят, преди да ги изпратите, за да могат хората да ги използват.

Създаване на скрипт

За да стартирате скриптовете, всичко, от което се нуждаете, е текстов редактор. Всеки прост текстов редактор ще направи - не трябва да е сложен или изчерпателен. За този пример ще направим прост скрипт за актуализация на Ubuntu, използвайки Gedit.

 #! / Хамбар / Баш 

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

След това нека да напишем коментар. Това ще позволи на всеки, който използва скрипта, да разбере кой е предназначен да прави. Коментарите могат да се добавят към скрипт, като се постави символ "#". Всичко след него няма да бъде вдигнато от сценария.

 # Моят прост скрипт за актуализиране на Ubuntu 

Сега е време да добавите кода към скрипта. В този случай работим върху създаването на баш скрипт, който ще изпълнява последователно двете команди за актуализиране на Ubuntu. Започнете с командата за източниците на софтуер за актуализиране.

 sudo apt актуализация 

Втората част на скрипта е apt upgrade команда за apt upgrade . Тази команда позволява да бъдат инсталирани преди това проверените актуализации. Добавете a- -y към края, за да не се нуждае от взаимодействие с потребителя. Това ще позволи на командата да се актуализира само по себе си.

 sudo apt ъпгрейд -y 

Запишете скрипта с разширение ".sh". Например, "myscript.sh".

За да стартирате скрипта, отворете терминал и въведете:

 sudo chmod + x myscript.sh 

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

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

 sudo bash myscript.sh. 

Файлови разширения

Няма разлика в файловите разширения за скриптове. Задаването на име на файл с разширение ".sh" не засяга много малко начина, по който работи програмата. Баш скрипт все още ще се изпълнява без разширение на файла - празни текстови файлове и всичко останало, докато са налице правилните команди и аргументи.

Въпреки че черупката Bash пренебрегва файловите разширения, това не означава, че писателят на сценария трябва. Някои среди на работния плот, които позволяват настройването на скриптове на Shell за стартиране при стартиране, зависят от скрипта, за да има правилното разширение на файла ".sh". Това също помага за организационни цели.

Когато се стигне до нея, повечето скриптове на Shell се записват като ".sh" файлове за преносимост. "Sh" няма нищо общо с самия Баш, а скриптът може да работи с всяка съвместима черупка.

Алтернативно, скриптовете могат да бъдат запазени като .bash, .ksh (Unix korn shell) и т.н. Тези разширения на файлове са по-лоши и наистина ограничават полезността на скрипта. Това се дължи на факта, че те са предназначени само за черупки, които използват тези разширения.

Код ресурси

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

Освен това, тези, които искат да научат съвременната природа на Баш и програмирането с черупката, трябва да проверят Freecode. Уебсайтът има цял пътеводител за уроци, който учи всичко, което трябва да знаете за напреднали Bash скриптове.

заключение

Въпреки че скриптовете с Bash на Linux не са уникална функция (Macs също имат баш), те имат за цел да помагат на потребителите на Linux повече. Като се има предвид, че много от Linux може да се осъществи под терминала, научаването как да манипулирате черупката е много полезно.

Какви бас скриптове използвате под Linux, за да улесните живота си? Кажете ни по-долу!

Изображение на елемента: Jm3