MC, 17:03 piątek, 21.01.2011 r.
Każdy, kto zetknął się z programowaniem, wie, że poprawnie
napisany program powinien na wyjściu zwrócić jakąś wartość liczbową
- 0 gdy program wykona się w sposób prawidłowy, zaś inne wartości w
momencie, gdy coś pójdzie nie tak. Jak zatem sprawdzić, z jakim
kodem
wyjściowym zakończył się program?
Kod wyjściowy ostatnio wykonanego programu, przetrzymywany jest w
zmiennej
$?, zatem by zobaczyć, z jaką wartością wykonał się
program, należy wyświetlić zwartość tej zmiennej. Zrobimy to
poleceniem:
echo $?
�
Polecam przeanalizowanie poniższego odczytu z terminala:
mateusz@mateusz:/$ ls -1
bin
boot
cdrom
dev
dysk
etc
home
initrd.img
lib
lost+found
media
mnt
proc
root
sbin
selinux
srv
sys
tmp
usr
var
vmlinuz
mateusz@mateusz:/$ echo $?
0
mateusz@mateusz:/$ ls -1 katalog_ktory_nie_istnieje
ls: nie ma dostępu do katalog_ktory_nie_istnieje: No such file or directory
mateusz@mateusz:/$ echo $?
2
mateusz@mateusz:/$
Jak widzimy, gdy program
ls poprawnie wykonał swoje zadanie,
zwrócił
0, zaś gdy kazałem mu wylistować pliki z katalogu,
który nie istnieje, zwrócił wartość
2, czyli błąd.
Zerknijmy jeszcze do pomocy programu ls, aby zobaczyć jakie kody
wyjściowe posiada i co one oznaczają:
Kod wyjściowy:
0 jeżeli bez błędów,
1 przy drobnych problemach (np. brak dostępu do podkatalogu),
2 przy poważnych problemach (np. brak dostępu do podanego argumentu).
Umiejętność sprawdzenia, z jakim kodem program kończy swoje działanie,
jest bardzo przydatna, gdy piszemy zarówno skrypty jak i programy,
który np. wywołują inne aplikacje. Pozwala to również na
przeanalizowanie problemów, gdy program nie zachowuje się zgodnie z
naszymi oczekiwaniami.
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!