1. Работа с переменными
#!/bin/bash
name="Админ"
echo "Привет, $name!"
2. Чтение ввода от пользователя
#!/bin/bash
read -p "Введите ваше имя: " user_name
echo "Привет, $user_name!"
3. Условные операторы (if-else)
#!/bin/bash
read -p "Введите число: " num
if [ $num -gt 10 ]; then
echo "Число больше 10"
elif [ $num -eq 10 ]; then
echo "Число равно 10"
else
echo "Число меньше 10"
fi
4. Циклы
4.1 Цикл for
#!/bin/bash
for i in {1..5}; do
echo "Цикл $i"
done
4.2 Цикл while
#!/bin/bash
count=1
while [ $count -le 5 ]; do
echo "Счетчик: $count"
((count++))
done
5. Работа с аргументами
#!/bin/bash
echo "Первый аргумент: $1"
echo "Второй аргумент: $2"
echo "Все аргументы: $@"
echo "Количество аргументов: $#"
Запуск:
./script.sh arg1 arg26. Работа с файлами
6.1 Проверка существования файла
#!/bin/bash
file="test.txt"
if [ -f "$file" ]; then
echo "Файл существует"
else
echo "Файл не найден"
fi
6.2 Чтение файла построчно
#!/bin/bash
while IFS= read -r line; do
echo "Строка: $line"
done < "file.txt"
7. Функции
#!/bin/bash
function приветствие() {
echo "Привет, $1!"
}
приветствие "Админ"
8. Редиректы и работа с потоками
8.1 Запись вывода в файл
echo "Привет, мир!" > output.txt
8.2 Добавление в файл
echo "Новая строка" >> output.txt
8.3 Перенаправление stderr в файл
ls /не_существующая_папка 2> error.log
8.4 Перенаправление stdout и stderr
ls /не_существующая_папка > output.log 2>&1
9. Запуск команд и проверка их выполнения
#!/bin/bash
mkdir test_dir
if [ $? -eq 0 ]; then
echo "Папка успешно создана"
else
echo "Ошибка при создании папки"
fi
10. Работа с массивами
#!/bin/bash
arr=("яблоко" "банан" "апельсин")
echo "Первый элемент: ${arr[0]}"
echo "Все элементы: ${arr[@]}"
for fruit in "${arr[@]}"; do
echo "Фрукт: $fruit"
done
11. Таймер / ожидание
#!/bin/bash
echo "Ожидание 5 секунд..."
sleep 5
echo "Продолжаем работу!"
12. Использование команд
grep, awk, sed12.1 Поиск строки в файле
grep "поиск" файл.txt
12.2 Замена текста в файле (
sed)sed -i 's/старый/новый/g' файл.txt
12.3 Извлечение данных (
awk)awk '{print $2}' файл.txt13. Фоновые процессы
./долгий_скрипт.sh &
14. Cron (Автоматический запуск скрипта)
Открыть cron:
crontab -e
Добавить задачу (например, запуск скрипта каждую минуту):
* * * * * /home/user/script.sh
15. Остановка и завершение процессов
ps aux | grep my_script.sh # Найти процесс
kill 12345 # Убить процесс по PID
killall my_script.sh # Убить все процессы с таким именем
@sysadmin1