Bash скриптове: как да автоматизираме задачи в Unix и Linux
Bash скрипт е програма, написана на езика Bash, който е команден интерпретатор за Unix и Linux операционни системи. Тези скриптове позволяват на потребителите да автоматизират задачи, като например копиране на файлове, монтиране на устройства или извличане на данни от файлове.
Структура на Bash скрипт
За да създадем Bash скрипт, трябва да създадем текстов файл с разширение ".sh". В този файл можем да напишем команди, които да се изпълнят, когато скриптът се стартира. За да стартираме скрипта, първо трябва да му дадем разрешение за изпълнение с командата "chmod +x script.sh", след което можем да го стартираме с командата "./script.sh".
Съдържанието им може да бъде разнообразно – от скачане на файлове от Интернет до обработка на данни.
Например, ето примерна структура на Bash скрипт:
#!/bin/bash
# This is a comment
echo "Hello, World!"
Първият ред определя командния интерпретатор, който да изпълнява скрипта. В този случай е Bash. Символът "#" служи за оставяне на коментар.
Вторият ред е прост команден ред, който използва командата "echo", за да изведе "Hello, World!" на екрана.
„echo“ е само една от многото вградени команди, които Bash предоставя за работа с различни видове данни и за взаимодействие с операционната система.
Bash скриптовете използват команди, които са налични в операционната система. Това означава, че можем да използваме всички команди, които можем да използваме в командния ред на операционната система.
Синтаксис на Bash скриптове
Синтаксисът на Bash е съсредоточен върху команди, параметри и променливи на обкръжаващата среда. В Bash командите можем да дадем параметри или да вземем данни от променливи.
Ето пример:
#!/bin/bash
# This is a comment
message="Hello, World!"
echo $message
Този скрипт използва променлива "message" за съхраняване на низа "Hello, World!" и я извежда на екрана с помощта на "echo".
В този скрипт, "$" е символ, който се използва при следване на името на променливата, за да се изведат данните.
Важно е да се отбележи, че не се поставят интервали между "$" и името на променливата.
Параметри на Bash скриптове
Параметри се подават на скрипта чрез командния ред, който се подава при извикване на скрипта.
Ето пример:
#!/bin/bash
# This is a comment
echo "Hello, $1"
Първия параметър се обърква в скрипта чрез "$1". Ако този скрипт се извика с параметър "World", ще изведе "Hello, World" на екрана.
Условни операции
Bash може да извършва условни операции, което означава, че определени команди могат или не да се изпълняват в зависимост от определени ситуации.
Ето как може да изглежда условна операция в Bash:
#!/bin/bash
# This is a comment
if [ 5 -eq 5 ]; then
echo "5 is equal to 5"
fi
В този скрипт командата "if" сравнява числото 5 със самото себе си (чиято стойност е разбираемо 5). "eq" означава равенство и е оператор, който се използва често в условията в Bash. Ако операцията е верна, ще се изпълни командата, която следва "then".
В този случай, ще се изведе "5 is equal to 5".
За да поставим условия в условието, трябва да се използват заедно с операторите "[]" и да се записва условието в тях, без да има интервали след и пред тях. Можете да сравните толкова стойности, колкото са необходими за вашите задачи.
Цикли
Bash получава цикли чрез оператора "for" или "while". С това можем да извършваме действия за определен брой пъти или докато не се изпълни определено състояние.
Ето как може да изглежда "for" цикъл в Bash: на Bash скриптове
#!/bin/bash
# This is a comment
for i in {1..5}; do
echo "Number: $i"
done
В този скрипт "for" цикъл отпечатва числата от 1 до 5 на екрана. Между командите "do" и "done" се намира действието, което се изпълнява за всеки итерация на цикъла. Променливата "i" приема стойности от "1" до "5".
"while" цикълът работи същият начин, като работи докато дадено състояние продължава да е вярно.
Ето пример за "while" цикъл: въкруг операторите "[]" и да се записва условието в тях, без да има интервали след и пред тях.
Можете да сравните толкова стойности, колкото са необходими за вашите задачи.
#!/bin/bash
# This is a comment
counter=1
while [ $counter -le 5 ]; do
echo "Number: $counter"
((counter++))
done
В този скрипт "while" цикъл отпечатва числата от 1 до 5 на екрана. Между командите "do" и "done" се намира действието, което се изпълнява за всеки итерация на цикъла. Променливата "counter" увеличава стойността си с 1 за всяка итерация. Цикълът продължава да се изпълнява, докато "counter" е по-малък или равен на 5.
Как да подадем входни данни на Bash скриптове
Скриптовете могат също да приемат входни данни – параметри, използващи се от PID или STDIN (стандартно входно устройство по подразбиране). Ето как може да се постигне това:
#!/bin/bash
# This is a comment
echo "What is your name?"
read name
echo "Hello, $name"
Този скрипт обработва входните данни от STDIN. Чрез командата "read" скрипта чака за вход от потребителя. Въведеното име се съхранява в променлива "name" и се извежда на екрана в следващия ред.
След като разберете бързите трикове за създаване на Bash скриптове, всъщност не е толкова трудно да ги изградите и да ги използвате. Те могат да ви помогнат да ускорите работния процес, като автоматизират различни задачи, които повтаряте често.
Накрая, е важно да се отбележи, че Bash скриптовете могат да бъдат много мощни инструменти за автоматизация на задачи в Unix и Linux операционни системи. Създаването на Bash скриптове може да ни спести много време и да ни помогне да ускорим нашата работа.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut