Bash Wiki
Posts (Latest 30 updated) :
Read all
Contents:
  1. [Linux] Bash set użycie: Ustawianie opcji powłoki
    1. Overview
    2. Usage
    3. Common Options
    4. Common Examples
      1. Przykład 1: Ustawienie opcji zatrzymywania na błędzie
      2. Przykład 2: Włączenie trybu debugowania
      3. Przykład 3: Użycie opcji niezdefiniowanej zmiennej
      4. Przykład 4: Ustawienie opcji noclobber
    5. Tips

[Linux] Bash set użycie: Ustawianie opcji powłoki

Overview

Polecenie set w Bash służy do ustawiania lub wyświetlania opcji powłoki. Umożliwia ono modyfikację zachowania powłoki oraz kontrolowanie, jak skrypty są wykonywane.

Usage

Podstawowa składnia polecenia set wygląda następująco:

set [opcje] [argumenty]

Common Options

Oto kilka powszechnie używanych opcji dla polecenia set:

  • -e: Zatrzymuje wykonywanie skryptu, jeśli jakiekolwiek polecenie zakończy się błędem.
  • -u: Zgłasza błąd, gdy próbujesz użyć niezdefiniowanej zmiennej.
  • -x: Włącza tryb debugowania, wyświetlając każde polecenie przed jego wykonaniem.
  • -o: Umożliwia ustawienie różnych opcji powłoki, takich jak noclobber czy pipefail.

Common Examples

Przykład 1: Ustawienie opcji zatrzymywania na błędzie

set -e

To polecenie sprawi, że skrypt zakończy się, jeśli jakiekolwiek polecenie zwróci kod błędu.

Przykład 2: Włączenie trybu debugowania

set -x

Włącza tryb debugowania, co jest przydatne do śledzenia, jakie polecenia są wykonywane w skrypcie.

Przykład 3: Użycie opcji niezdefiniowanej zmiennej

set -u
echo $undefined_variable

To polecenie spowoduje błąd, ponieważ undefined_variable nie została zdefiniowana.

Przykład 4: Ustawienie opcji noclobber

set -o noclobber

Zapobiega nadpisywaniu istniejących plików podczas redirekcji wyjścia.

Tips

  • Używaj opcji -e w skryptach, aby szybko wykrywać błędy.
  • Włącz tryb debugowania tylko w razie potrzeby, ponieważ może generować dużą ilość danych wyjściowych.
  • Zawsze testuj skrypty w bezpiecznym środowisku przed ich uruchomieniem na produkcji, szczególnie z ustawionymi opcjami, które mogą wpłynąć na ich działanie.