Основы скриптов
Переменные и циклы
«Основы скриптов» — бесплатный урок Ethical Hacking Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ethical Hacking Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ethical Hacking Academy содержит 4 уроков всего.
Почему Bash используется для обеспечения безопасности
Bash — оболочка по умолчанию в Linux, с которой специалист по тестированию на проникновение сталкивается повсюду. Написание скриптов на Bash позволяет автоматизировать повторяющуюся разведку, объединять инструменты и обрабатывать вывод без ручного переписывания команд.
В этом уроке рассматриваются основные элементы: шебанг, переменные, условные конструкции и циклы.
Шебанг
Каждый скрипт начинается с шебанга, который сообщает системе, какой интерпретатор использовать. Затем сделайте файл исполняемым и запустите его.
#!/bin/bash
echo 'Hello from a script'
# chmod +x script.sh
# ./script.shПеременные
Присваивайте значения без пробелов вокруг =. Получайте значение с помощью знака доллара. Заключайте переменные в кавычки, чтобы избежать неожиданного разбиения на слова.
target=192.168.56.10
port=80
echo "Scanning $target on port $port"Подстановка команд
Сохраните вывод команды в переменную с помощью $( ). Так скрипты реагируют на результаты работы инструментов.
host=$(hostname)
count=$(ls /etc | wc -l)
echo "$host has $count files in /etc"Чтение аргументов
Скрипты получают аргументы как $1, $2 и так далее. $# содержит их количество, а $0 — имя скрипта.
#!/bin/bash
target=$1
echo "Target is $target"
# run: ./scan.sh 10.0.0.5Условные конструкции
Используйте if со скобками проверки, чтобы выбирать ветвь выполнения. Числовые проверки используют -eq, -gt; строковые — =; проверки файлов — -f, -d.
if [ "$#" -eq 0 ]; then
echo 'Usage: scan.sh <target>'
exit 1
fiЦиклы for
Циклы for перебирают списки — они отлично подходят для последовательной проверки портов или узлов.
for port in 21 22 80 443; do
echo "Checking port $port"
doneЦиклы по диапазонам
Раскрытие фигурных скобок и seq создают последовательности, что удобно при сканировании диапазона IP-адресов.
for i in {1..10}; do
echo "192.168.56.$i"
doneЦиклы while
while повторяет действия, пока выполняется условие. Построчное чтение файла — распространённый способ обрабатывать списки узлов или слов.
while read line; do
echo "Host: $line"
done < hosts.txtФункции и коды завершения
Объединяйте повторно используемую логику в функции. Каждая команда устанавливает $? — свой код завершения; значение 0 означает успех. Скрипты используют его, чтобы определить дальнейшие действия.
check() {
ping -c1 "$1" >/dev/null 2>&1
if [ $? -eq 0 ]; then echo "$1 up"; fi
}
check 192.168.56.10Тихие и безопасные скрипты
Надёжные рабочие скрипты перенаправляют лишний вывод и завершаются при первой ошибке:
2>/dev/nullскрывает ошибки.set -eзавершает работу после первой неудачной команды.set -uсообщает об ошибках при обращении к неопределённым переменным.
#!/bin/bash
set -euo pipefailБыстрая проверка
Вспомните, как скрипты сохраняют вывод команд.
Итоги
Вы изучили основы написания скриптов Bash:
- Шебанг и
chmod +xпозволяют создать запускаемый скрипт. - Переменные, аргументы (
$1) и подстановка команд с помощью$( ). - if, for и while управляют потоком выполнения.
- Коды завершения (
$?) иset -euo pipefailпомогают создавать надёжные скрипты.
Далее: автоматизация разведки.
Часто задаваемые вопросы
Урок «Основы скриптов» бесплатный?
Да — полный текст урока «Основы скриптов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ethical Hacking Academy, подпишись на CoddyKit PRO. Курс Ethical Hacking Academy содержит 4 уроков всего.
Чему я научусь в уроке «Основы скриптов»?
Переменные и циклы Ты практикуешь Ethical Hacking Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ethical Hacking Academy?
Предыдущий опыт не требуется. Ethical Hacking Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Основы скриптов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ethical Hacking Academy?
Да. Каждый урок Ethical Hacking Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.