Przejdź do głównej zawartości

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.

Okno terminala
return [n]
  • n – liczba całkowita 0–255 określająca kod wyjścia; domyślnie używa kodu ostatniego polecenia.

ParametrOpis
nKod wyjścia (0 oznacza sukces, wartości ≠0 oznaczają błąd lub inne stany).

Okno terminala
# 1) Zakończenie funkcji z kodem 1
myfunc() {
echo "Błąd w funkcji"
return 1
}
Okno terminala
# 2) Zakończenie skryptu źródłowanego
. ./config.sh || return 1
Okno terminala
# 3) Zwrócenie statusu ostatniego polecenia
check_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żyj exit.
  • 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 $?.

Błąd / KomunikatPrzyczynaRozwiązanie
return: can only return from a function or sourced scriptPróba użycia return w skrypcie uruchomionym normalnieZamień na exit.
return: numeric argument requiredPodano argument niebędący liczbąUżyj wartości całkowitej 0–255.
Kod wyjścia różny od oczekiwanegoBrak jawnego returnDodaj return z odpowiednią wartością w funkcji.