Podstawy skryptów
Zmienne i pętle
Podstawy skryptów to bezpłatna lekcja Ethical Hacking Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ethical Hacking Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Dlaczego Bash w bezpieczeństwie
Bash jest domyślną powłoką w systemie Linux i występuje praktycznie wszędzie, gdzie pracuje pentester. Skrypty w tym języku pozwalają automatyzować powtarzalne rozpoznanie, łączyć narzędzia i przetwarzać dane wyjściowe bez ręcznego przepisywania poleceń.
Ta lekcja obejmuje podstawowe elementy: shebang, zmienne, instrukcje warunkowe i pętle.
Shebang
Każdy skrypt zaczyna się od shebang, który informuje system, którego interpretera należy użyć. Następnie ustaw plik jako wykonywalny i uruchom go.
#!/bin/bash
echo 'Hello from a script'
# chmod +x script.sh
# ./script.shZmienne
Przypisuj wartości bez spacji wokół =. Odczytuj je ponownie za pomocą znaku dolara. Umieszczaj zmienne w cudzysłowie, aby uniknąć nieoczekiwanego podziału słów.
target=192.168.56.10
port=80
echo "Scanning $target on port $port"Podstawianie poleceń
Przechwytuj dane wyjściowe polecenia w zmiennej za pomocą $( ). Dzięki temu skrypty mogą reagować na wyniki działania narzędzi.
host=$(hostname)
count=$(ls /etc | wc -l)
echo "$host has $count files in /etc"Odczytywanie argumentów
Skrypty otrzymują argumenty jako $1, $2 itd. $# oznacza ich liczbę, a $0 - nazwę skryptu.
#!/bin/bash
target=$1
echo "Target is $target"
# run: ./scan.sh 10.0.0.5Instrukcje warunkowe
Używaj if wraz z nawiasami testu do rozgałęziania działania. Testy liczbowe używają -eq, -gt; testy tekstowe używają =; testy plików używają -f, -d.
if [ "$#" -eq 0 ]; then
echo 'Usage: scan.sh <target>'
exit 1
fiPętle for
Pętle for przechodzą po elementach list - doskonale nadają się do sprawdzania portów lub hostów.
for port in 21 22 80 443; do
echo "Checking port $port"
doneIterowanie po zakresach
Rozwijanie nawiasów klamrowych i seq generują sekwencje, przydatne podczas skanowania zakresu adresów IP.
for i in {1..10}; do
echo "192.168.56.$i"
donePętle while
while powtarza działanie, dopóki warunek jest spełniony. Odczytywanie pliku wiersz po wierszu to typowy wzorzec przetwarzania list hostów lub słów.
while read line; do
echo "Host: $line"
done < hosts.txtFunkcje i kody zakończenia
Grupuj wielokrotnie używaną logikę w funkcjach. Każde polecenie ustawia $?, czyli swój kod zakończenia - 0 oznacza powodzenie. Skrypty używają go do decydowania o kolejnym działaniu.
check() {
ping -c1 "$1" >/dev/null 2>&1
if [ $? -eq 0 ]; then echo "$1 up"; fi
}
check 192.168.56.10Ciche i bezpieczne skrypty
Skrypty gotowe do użycia produkcyjnego przekierowują zbędne komunikaty i szybko kończą działanie po błędzie:
2>/dev/nullukrywa błędy.set -ekończy działanie po pierwszym nieudanym poleceniu.set -uzgłasza błędy przy użyciu niezdefiniowanych zmiennych.
#!/bin/bash
set -euo pipefailSzybkie sprawdzenie
Przypomnij sobie, jak skrypty przechwytują dane wyjściowe polecenia.
Podsumowanie
Poznałeś podstawy tworzenia skryptów Bash:
- Shebang +
chmod +xpozwalają utworzyć uruchamialny skrypt. - Zmienne, argumenty (
$1) i podstawianie poleceń$( ). - if, for i while służą do sterowania przepływem.
- Kody zakończenia (
$?) iset -euo pipefailumożliwiają tworzenie odpornych skryptów.
Dalej: automatyzacja rozpoznania.
Często zadawane pytania
Czy lekcja „Podstawy skryptów” jest bezpłatna?
Tak — pełny tekst „Podstawy skryptów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ethical Hacking Academy, przejdź na CoddyKit PRO. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Podstawy skryptów”?
Zmienne i pętle Ćwiczysz Ethical Hacking Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ethical Hacking Academy?
Nie wymagamy żadnego doświadczenia. Ethical Hacking Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Podstawy skryptów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ethical Hacking Academy?
Tak. Każda lekcja Ethical Hacking Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy skryptów
- Automatyzacja rozpoznania
- Analizowanie danych wyjściowych
- Budowanie narzędzia do rozpoznania