Как да пишем скриптове на bash и да улесним работата си в Linux
Разработването на скриптове на bash може да бъде много полезно за автоматизиране на рутинни задачи и улесняване на работата с операционната система Linux. В тази статия ще ви представим основните концепции и синтаксис на bash скриптове, както и пет примерни скрипта за различни задачи.
Създаване на скрипт
За да създадете скрипт на bash, трябва да създадете текстов файл с разширение ".sh". В началото на файла трябва да поставите шебанг (shebang) – #!/bin/bash – който указва на операционната система да използва bash за изпълнение на скрипта.
Променливи
В bash скриптовете можете да използвате променливи, които да съхраняват стойности. За да дефинирате променлива, използвайте следната синтаксис: variable_name=value
Условни оператори
В bash скриптовете можете да използвате условни оператори, които да проверят дали дадено условие е вярно или не. За това се използват операторите if, else и elif.
Пример:
if [ $a -gt $b ]
then
echo "a is greater than b"
else
echo "b is greater than a"
fi
Цикли
В bash скриптовете можете да използвате цикли, които да повтарят даден блок от код няколко пъти. За това се използват операторите for, while и until.
Пример:
for i in {1..5}
do
echo "Number: $i"
done
Функции
В bash скриптовете можете да дефинирате функции, които да използвате повторно във вашия код. За да дефинирате функция, използвайте следната синтаксис:
function_name () {
# code
}
Примерни скриптове:
Скрипт за копиране на файлове от една директория в друга:
#!/bin/bash
source_dir=/path/to/source/dir
destination_dir=/path/to/destination/dir
cp $source_dir/* $destination_dir
Скрипт за архивиране на файлове:
#!/bin/bash
backup_dir=/path/to/backup/dir
date=$(date +%Y-%m-%d)
tar -czvf $backup_dir/backup_$date.tar.gz /path/to/files
Скрипт за автоматично изтриване на стари файлове:
#!/bin/bash
directory=/path/to/files
days=30
find $directory -type f -mtime +$days -exec rm {} \;
Скрипт за извеждане на информация за системата:
#!/bin/bash
echo "Hostname: $(hostname)"
echo "CPU: $(grep -m1 'model name' /proc/cpuinfo | sed 's/.*: //')"
echo "Memory: $(free -h | awk '/^Mem:/ {print $2}')"
echo "Disk usage: $(df -h / | awk '/\// {print $5}')"
Скрипт за извеждане на списък с процесите, които използват най-много памет:
#!/bin/bash
ps aux --sort=-%mem | head -n 11
Тези примерни скриптове са само начало, може да ги промените и да ги адаптирате за вашите нужди. Надяваме се, че тази статия ще ви помогне да започнете да пишете свои bash скриптове и да автоматизирате вашата работа в Linux.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut