return
- return – builtin w powłokach POSIX (bash, ksh, zsh) używany do zakończenia działania funkcji powłoki lub skryptu wczytanego przez
source
/.
. - Pozwala zwrócić kod wyjścia (status), który może być użyty do sterowania logiką w skryptach.
- Nie kończy całego skryptu uruchomionego jako osobny proces – do tego służy
exit
.
Składnia
Dział zatytułowany „Składnia”return [n]
n
– liczba całkowita 0–255 określająca kod wyjścia; domyślnie używa kodu ostatniego polecenia.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
n | Kod wyjścia (0 oznacza sukces, wartości ≠0 oznaczają błąd lub inne stany). |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# 1) Zakończenie funkcji z kodem 1myfunc() { echo "Błąd w funkcji" return 1}
# 2) Zakończenie skryptu źródłowanego. ./config.sh || return 1
# 3) Zwrócenie statusu ostatniego poleceniacheck_file() { [ -f "$1" ] return # kod będzie równy $? z poprzedniego testu}
- Tylko w funkcjach i skryptach źródłowanych: W skryptach uruchamianych normalnie
return
spowoduje błąd – użyjexit
. - Zakres kodu wyjścia: Tylko wartości 0–255; większe są obcinane modulo 256.
- Kontrola logiki: Kod zwrócony przez
return
można sprawdzić przez$?
.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
return: can only return from a function or sourced script | Próba użycia return w skrypcie uruchomionym normalnie | Zamień na exit . |
return: numeric argument required | Podano argument niebędący liczbą | Użyj wartości całkowitej 0–255. |
Kod wyjścia różny od oczekiwanego | Brak jawnego return | Dodaj return z odpowiednią wartością w funkcji. |