Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Bash i znak $

niedziela,

Bash i znak $

Znak $ w bash ma wiele znaczeń, a ich znajomość jest fundamentalna dla efektywnego pisania skryptów i pracy z powłoką. Umożliwia on dostęp do danych systemowych i użytkownika, manipulowanie nimi oraz kontrolowanie zachowania skryptów.

Główne zastosowania znaku $

  • Dostęp do wartości zmiennej – $ jest używany do uzyskiwania wartości zmiennej. Na przykład, jeśli masz zmienną o nazwie username, używasz $username do wyświetlenia jej wartości. Przykład: echo $username wydrukuje wartość zmiennej username.
  • Wykonanie poleceń (Command Substitution) – użycie $() pozwala na wykonanie polecenia i zastąpienie całego wyrażenia jego wynikiem. Na przykład, current_date=$(date) przypisuje wynik polecenia date do zmiennej current_date.
  • Rozwinięcie parametrów – bash umożliwia zaawansowane rozwijanie parametrów przy użyciu różnych form, jak ${param}, ${param:-word}, ${param:=word}, ${param:?word}, i wiele innych. Te konstrukcje pozwalają na manipulowanie wartościami zmiennych w bardziej skomplikowany sposób, na przykład ustawianie domyślnych wartości lub wyświetlanie błędów, gdy zmienna nie jest ustawiona.
  • Arytmetyka – w kontekście operacji arytmetycznych, $((expression)) pozwala na obliczenie wyrażenia arytmetycznego i zwrócenie jego wartości. Na przykład, echo $((2 + 2)) wydrukuje 4.
  • Dostęp do parametrów pozycyjnych – $1, $2, $3, ..., $N są używane do dostępu do argumentów przekazanych do skryptu lub funkcji. $1 reprezentuje pierwszy argument, $2 drugi, i tak dalej.
  • Zmienne specjalne$# zawiera liczbę argumentów pozycyjnych, $@$* reprezentują wszystkie argumenty pozycyjne, $$ zawiera PID bieżącej powłoki, $? zawiera status wyjścia ostatnio wykonanego polecenia, $0 zawiera nazwę bieżącego skryptu.

Przykłady

Każdy z przykładów demonstruje konkretną funkcjonalność znaku '$' w powłoce bash, od prostego dostępu do wartości zmiennych, przez zaawansowane rozwijanie parametrów, po operacje arytmetyczne i wykorzystanie specjalnych zmiennych. Użycie tych technik pozwala na tworzenie skryptów, które są elastyczne, potężne i dobrze dostosowane do potrzeb użytkownika.

Dostęp do wartości zmiennej

username="user123"
echo "Nazwa użytkownika: $username"

Wykonanie poleceń (command substitution)

current_date=$(date)
echo "Aktualna data: $current_date"

Rozwinięcie parametrów

# Ustawienie domyślnej wartości, jeśli zmienna nie istnieje
echo "Witaj, ${username:-gość}"

# Ustawienie wartości i przypisanie, jeśli zmienna nie istnieje
echo "Twoje miejsce: ${location:=Nieznane}"

# Wyświetlenie błędu, jeśli zmienna nie istnieje
echo "ID użytkownika: ${user_id:?"nie zdefiniowano"}"

Arytmetyka

a=5
b=2
result=$((a + b))
echo "Wynik: $result"

Dostęp do parametrów pozycyjnych

# Przykładowy skrypt: ./script.sh arg1 arg2
echo "Pierwszy argument: $1"
echo "Drugi argument: $2"

Specjalne zmienne

echo "Liczba argumentów: $#"
echo "Wszystkie argumenty: $@"
echo "PID powłoki: $$"
echo "Status wyjścia ostatniego polecenia: $?"
echo "Nazwa skryptu: $0"

Trzy miesiące temu na naszej stronie…

Artykuł: Józef Piłsudski

Józef Piłsudski

Artykuł: Edytor Brackets: Proste rozszerzenie

Edytor Brackets: Proste rozszerzenie

Artykuł: GIMP: Zaznaczanie prostokątne i eliptyczne

GIMP: Zaznaczanie prostokątne i eliptyczne

Artykuł: GIMP: Zapisywanie zaznaczenia

GIMP: Zapisywanie zaznaczenia

Artykuł: Symulator sieci komputerowej

Symulator sieci komputerowej

Artykuł: Linux: Polecenie dmidecode

Linux: Polecenie dmidecode

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły