Menu
Coddy logo textTech

Zmienne w skryptach

Część sekcji Podstawy ścieżki Terminal w Coddy. Lekcja 68 z 82.

Zmienne sprawiają, że Twoje skrypty są elastyczne i można ich używać ponownie. Zamiast wpisywać wartości na stałe, możesz przechowywać je w zmiennych i odwoływać się do nich w całym skrypcie.

Aby utworzyć zmienną w skrypcie, użyj tej samej składni, której nauczono cię w terminalu: bez spacji wokół znaku równości. Aby użyć wartości zmiennej, poprzedź jej nazwę znakiem dolara:

#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"

Ten skrypt wyświetla Hello, World!. Zmienne greeting i name przechowują tekst, który jest podstawiany podczas uruchamiania skryptu.

Zmienne stają się szczególnie przydatne, gdy trzeba użyć tej samej wartości wiele razy. Jeśli odwołujesz się do ścieżki pliku w kilku miejscach, zapisanie jej w zmiennej oznacza, że wystarczy zmienić ją tylko raz:

#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"

Zwróć uwagę na cudzysłowy wokół "$backup_dir". Ujmowanie zmiennych w podwójne cudzysłowy to dobra praktyka, ponieważ pozwala poprawnie obsługiwać ścieżki lub wartości zawierające spacje. Bez cudzysłowów ścieżka taka jak /my documents spowodowałaby błąd polecenia.

Zmienne w skryptach działają tak samo jak w terminalu, ale istnieją tylko podczas działania skryptu. Gdy skrypt się zakończy, te zmienne znikają.

challenge icon

Wyzwanie

Łatwy

Utwórz skrypt powłoki o nazwie intro.sh, który używa zmiennych do wyświetlenia spersonalizowanego komunikatu.

Twój skrypt powinien:

  1. Zaczynać się od wiersza shebang (#!/bin/bash)
  2. Tworzyć zmienną o nazwie language z wartością Bash
  3. Tworzyć zmienną o nazwie skill z wartością scripting
  4. Używać echo, aby wyświetlić obie zmienne w formacie: Learning Bash scripting!

Ustaw skrypt jako wykonywalny i uruchom go. Wynik powinien wyglądać tak:

Learning Bash scripting!

Każdy zapisywany wiersz ujmij w pojedyncze cudzysłowy: echo 'echo "Hello $name"' >> script.sh. Pojedyncze cudzysłowy zapobiegają zastąpieniu przez powłokę $name podczas zapisywania pliku, dzięki czemu skrypt zachowuje zmienną i rozwija ją podczas uruchamiania. Podwójne cudzysłowy spowodowałyby natychmiastowe podstawienie wartości.

Podpowiedź: Utwórz skrypt za pomocą echo z przekierowaniem. Pamiętaj, aby odwoływać się do zmiennych za pomocą $ w instrukcji echo, na przykład echo "Learning $language $skill!"

Spróbuj swoich sił

Terminal
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Terminal