Kody wyjścia

Każde polecenie nkb kończy się jedną z sześciu liczb, a liczba znaczy to samo bez względu na to, które polecenie ją zwraca.

Co znaczy każdy kod?

KodZnaczenie
0Polecenie zrobiło to, co obiecało.
1Paczka nie przeszła walidacji. Znalezisko dotyczy paczki, nie narzędzia.
2Polecenie wywołano niepoprawnie: nieznane polecenie, nieznana opcja albo opcja bez wartości.
3Wskazana paczka, wartość albo plik nie istnieje.
4Nie udało się wpisać wartości w pole. nkb send odmówiło albo przerwało, a jego komunikat mówi dlaczego.
5Nie udało się odczytać albo zapisać pliku albo zapisać standardowego wyjścia.

Polecenie używa tylko kodów, które mogą mu się przydarzyć, a nkb lint --help i nkb fmt --help wymieniają swoje. Prośba o pomoc to sukces, więc --help kończy się kodem 0.

Czy kody się zmienią?

Nie w znaczeniu. Zestaw jest kompletny od pierwszego wydania i to celowo: kod dodany później zmieniłby czyjś zielony pipeline na czerwony bez żadnej zmiany po jego stronie.

Jak użyć ich w CI?

nkb lint packs/my-pack.toml
status=$?
if [ "$status" -eq 1 ]; then
  echo "the pack has errors"
elif [ "$status" -ne 0 ]; then
  echo "nkb could not check it"
fi