0Pricing
Linux Command Line Mastery · Lekcja

Funkcje i argumenty w skryptach powłoki

Porządkuj skrypty za pomocą wielokrotnego użytku funkcji, przekazuj argumenty, zwracaj wartości i poznaj zakres zmiennych w Bashu.

Funkcje i argumenty w skryptach powłoki to bezpłatna lekcja Linux Command Line Mastery na CoddyKit. To lekcja 4 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 Linux Command Line Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Command Line Mastery zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

Why Functions?

You can write variables, conditionals, and loops, but as scripts grow they get repetitive. Functions let you name a block of logic and reuse it, keeping scripts clean and testable.

Defining a Function

A Bash function is a name followed by () and a body in braces. Define it before you call it.

greet() {
  echo 'Hello from a function'
}
greet

Passing Arguments

Functions receive arguments positionally: $1, $2, and so on. Just like the whole script does.

greet() {
  echo "Hello, $1"
}
greet Alice

All Arguments at Once

$@ expands to all arguments and $# gives their count, handy for variadic helpers.

show() {
  echo "count: $#"
  for a in "$@"; do echo "arg: $a"; done
}
show one two three

Return Status Codes

return sets an exit status (0-255), where 0 means success. Check it with $?.

is_even() {
  if [ $(( $1 % 2 )) -eq 0 ]; then return 0; else return 1; fi
}
is_even 4 && echo even

Returning Real Values

Since return only gives a status, output data with echo and capture it via command substitution.

square() {
  echo $(( $1 * $1 ))
}
result=$(square 5)
echo "result is $result"

Local Variables

By default Bash variables are global. Use local inside functions to avoid clobbering outer variables.

calc() {
  local total=0
  for n in "$@"; do total=$(( total + n )); done
  echo $total
}
calc 1 2 3 4

Functions Calling Functions

Functions can call each other, letting you compose small pieces into larger behavior.

double() { echo $(( $1 * 2 )); }
quad() { double $(double $1); }
quad 3

Default Argument Values

Use parameter expansion to supply a fallback when an argument is missing.

greet() {
  local name=${1:-World}
  echo "Hello, $name"
}
greet

A Practical Helper

Functions shine for reusable utilities like logging with a timestamp prefix.

log() {
  echo "[INFO] $*"
}
log 'Backup started'
log 'Backup finished'

Organizing Scripts

A clean pattern: define all functions at the top, then a main function at the bottom that orchestrates them. This mirrors structured programming.

main() {
  echo 'Running main'
}
main "$@"

Quick Check

How do you reliably get a computed value back from a Bash function?

Recap

Functions make scripts modular:

  • Define with name() { ... }
  • Arguments are $1, $@, $#
  • return = status; echo + $() = values
  • local keeps variables scoped

Compose small functions and orchestrate them from main.

Często zadawane pytania

Czy lekcja „Funkcje i argumenty w skryptach powłoki” jest bezpłatna?

Tak — pełny tekst „Funkcje i argumenty w skryptach powłoki” 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 Linux Command Line Mastery, przejdź na CoddyKit PRO. Kurs Linux Command Line Mastery zawiera 4 lekcji w sumie.

Co nauczysz się w „Funkcje i argumenty w skryptach powłoki”?

Porządkuj skrypty za pomocą wielokrotnego użytku funkcji, przekazuj argumenty, zwracaj wartości i poznaj zakres zmiennych w Bashu. Ćwiczysz Linux Command Line Mastery 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ąć Linux Command Line Mastery?

Nie wymagamy żadnego doświadczenia. Linux Command Line Mastery 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 4 z 4.

Ile czasu zajmuje lekcja „Funkcje i argumenty w skryptach powłoki”?

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 Linux Command Line Mastery?

Tak. Każda lekcja Linux Command Line Mastery 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

  1. Zmienne, wejście i wyjście
  2. Instrukcje warunkowe: `if`, `else`, `case`
  3. Pętle: `for`, `while`, `until`
  4. Funkcje i argumenty w skryptach powłoki
← Powrót do Linux Command Line Mastery