Zmienne i dane wprowadzane przez użytkownika
Nauczy się Pan/Pani definiować i używać zmiennych w skryptach oraz pobierać dane od użytkowników, aby tworzyć interaktywne skrypty.
Zmienne i dane wprowadzane przez użytkownika to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 2 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 DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Czym są zmienne?
W skryptach Bash zmienne przypominają nazwane pojemniki przechowujące dane. Można traktować je jako symbole zastępcze informacji, których chce Pan/Pani używać lub zmieniać w skryptach.
Dzięki przechowywaniu wartości, takich jak teksty, liczby czy nawet wyniki poleceń, skrypty stają się elastyczne, wielokrotnego użytku i łatwiejsze w zarządzaniu.
Deklarowanie i przypisywanie zmiennych
Aby utworzyć zmienną w Bash, wystarczy przypisać wartość do nazwy. Nie są potrzebne specjalne słowa kluczowe, takie jak var czy let.
- Użyj składni
VARIABLE_NAME=value. - Ważne: Nie należy wstawiać spacji wokół znaku
=. - Wartości mogą być tekstami (łańcuchami) lub liczbami.
Spróbujmy przypisać kilka wartości:
#!/bin/bash
# Assigning a string
MY_NAME="CoddyKit"
# Assigning a number
LESSON_NUMBER=2
echo "Name: $MY_NAME"
echo "Lesson: $LESSON_NUMBER"Uzyskiwanie wartości zmiennych
Po zadeklarowaniu zmiennej można uzyskać jej wartość, umieszczając znak $ przed jej nazwą. Informuje to Bash, aby zastąpił nazwę zmiennej przechowywaną w niej wartością.
Na przykład jeśli istnieje MY_VAR="Hello", polecenie echo $MY_VAR wyświetli „Hello”.
#!/bin/bash
CITY="New York"
TEMPERATURE=75
echo "The city is $CITY."
echo "The temperature is $TEMPERATURE degrees."
# You can also enclose in curly braces for clarity (optional)
echo "It's ${TEMPERATURE}F in ${CITY}."Zasady nazewnictwa zmiennych
Dobre nazwy zmiennych ułatwiają zrozumienie skryptów. Oto kilka zasad i dobrych praktyk:
- Nazwy mogą zawierać litery (a-z, A-Z), cyfry (0-9) i podkreślenia (
_). - Muszą zaczynać się od litery lub podkreślenia.
- W nazwach zmiennych rozróżniana jest wielkość liter (
myVarróżni się odmyvar). - Przyjętą praktyką jest używanie wielkich liter (ALL_CAPS) w nazwach zmiennych środowiskowych i stałych skryptu oraz zapisu mixedCase lub snake_case dla lokalnych zmiennych skryptu.
Zmienne tylko do odczytu
Czasami warto, aby wartość zmiennej pozostała stała przez cały czas działania skryptu. Polecenie readonly pozwala uniemożliwić zmianę zmiennej.
Po ustawieniu zmiennej jako readonly nie można ponownie przypisać jej wartości. Próba wykonania takiej operacji spowoduje błąd.
#!/bin/bash
APP_VERSION="1.0.0"
readonly APP_VERSION
echo "App Version: $APP_VERSION"
# Uncommenting the next line would cause an error:
# APP_VERSION="1.0.1"
# echo "New App Version: $APP_VERSION"Tworzenie interaktywnych skryptów
Do tej pory nasze skrypty wykonywały polecenia bez potrzeby pobierania danych w czasie działania. Co jednak, jeśli skrypt ma poprosić użytkownika o informacje?
W tym miejscu przydają się dane wprowadzane przez użytkownika! Skrypty interaktywne mogą dostosowywać swoje działanie do tego, co wpisuje użytkownik, dzięki czemu są znacznie bardziej wszechstronne i przyjazne.
Polecenie „read”
Podstawowym poleceniem służącym do pobierania danych od użytkownika jest read. Po wykonaniu read skrypt wstrzymuje działanie i czeka, aż użytkownik coś wpisze i naciśnie Enter.
Tekst wprowadzony przez użytkownika zostaje następnie zapisany w określonej zmiennej.
#!/bin/bash
echo "Please enter your name:"
read USER_NAME
echo "Hello, $USER_NAME! Welcome to CoddyKit."Dodawanie monitów za pomocą „read -p”
Poprzedni przykład działa, ale wymaga dwóch wierszy: jednego z monitem echo i jednego z poleceniem read. Można je połączyć, używając opcji -p (prompt) wraz z read.
Dzięki temu interakcja ze skryptem jest znacznie bardziej przejrzysta i bezpośrednia.
#!/bin/bash
read -p "What is your favorite animal? " ANIMAL
echo "Oh, so you like $ANIMAL! That's cool."Ukrywanie danych za pomocą „read -s”
W przypadku poufnych informacji, takich jak hasła, dane wprowadzane przez użytkownika nie powinny być wyświetlane na ekranie. Opcja -s (silent) polecenia read ukrywa dane podczas ich wpisywania.
Po użyciu read -s dobrą praktyką jest dodanie polecenia echo wyświetlającego znak nowego wiersza. W przeciwnym razie następny monit może pojawić się w tym samym wierszu co ukryte dane.
#!/bin/bash
read -sp "Enter your secret passphrase: " PASSPHRASE
echo # This adds a newline after the hidden input
echo "Passphrase received (not displayed for security)."Szybkie sprawdzenie: zmienne i dane wejściowe
Rozważmy następujący skrypt Bash:
#!/bin/bash
FAVORITE_FOOD="Pizza"
read -p "What's your favorite drink? " DRINK
echo "I like $FAVORITE_FOOD and $DRINK!"Podsumowanie: zmienne i dane wprowadzane przez użytkownika
Świetna praca! Poznał Pan/Pani podstawy tworzenia dynamicznych i interaktywnych skryptów Bash.
- Zmienne przechowują wartości przy użyciu składni
NAME=value. - Dostęp do wartości zmiennej uzyskuje się za pomocą
$NAME. readonlysprawia, że zmienne stają się stałe.- Polecenie
readpobiera dane od użytkownika. - Użyj
read -p "Prompt", aby wyświetlić monit w tym samym wierszu. - Użyj
read -sdo cichego wprowadzania poufnych danych.
Narzędzia te są niezbędne do tworzenia wszechstronnych i przyjaznych skryptów!
Często zadawane pytania
Czy lekcja „Zmienne i dane wprowadzane przez użytkownika” jest bezpłatna?
Tak — pełny tekst „Zmienne i dane wprowadzane przez użytkownika” 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 DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Co nauczysz się w „Zmienne i dane wprowadzane przez użytkownika”?
Nauczy się Pan/Pani definiować i używać zmiennych w skryptach oraz pobierać dane od użytkowników, aby tworzyć interaktywne skrypty. Ćwiczysz DevOps Bootcamp 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ąć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp 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 2 z 4.
Ile czasu zajmuje lekcja „Zmienne i dane wprowadzane przez użytkownika”?
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 DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp 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
- Pierwszy skrypt Bash i shebang
- Zmienne i dane wprowadzane przez użytkownika
- Instrukcje warunkowe (if, else, elif)
- Praca z tablicami w Bashu