Skrypt o nazwie wykonaj w systemie Linux zawiera:
echo -n "To jest pewien parametr "
echo $?
Wykonanie zawartych w pliku poleceń spowoduje wyświetlenie podanego tekstu oraz
Odpowiedzi
Informacja zwrotna
Odpowiedź 'stanu ostatnio wykonanego polecenia' jest poprawna, ponieważ polecenie '$?' w systemie Linux zwraca status zakończenia ostatniego polecenia. Wartość ta jest kluczowa w skryptach oraz w codziennej pracy w powłoce, ponieważ pozwala na kontrolowanie i reagowanie na wyniki wcześniejszych operacji. Na przykład, jeśli poprzednie polecenie zakończyło się sukcesem, '$?' zwróci wartość 0, co oznacza, że skrypt może kontynuować dalsze operacje. Natomiast jeśli wystąpił błąd, zwróci inną wartość (np. 1 lub wyższą), co może być podstawą do podjęcia odpowiednich działań, takich jak logowanie błędów lub wykonanie alternatywnych kroków. Tego rodzaju kontrola przepływu jest standardową praktyką w programowaniu skryptów bash, umożliwiającą tworzenie bardziej elastycznych i odpornych na błędy aplikacji. Dobrą praktyką jest zawsze sprawdzenie stanu zakończenia polecenia przed kontynuowaniem dalszych operacji, co pozwala na lepsze zarządzanie potencjalnymi problemami w skryptach.
Wybór odpowiedzi, która odnosi się do numeru procesu ostatnio wykonywanego w tle, jest niepoprawny, ponieważ '$?' nie zwraca tej informacji. W systemie Linux, aby uzyskać identyfikator procesu (PID) ostatnio wykonywanego polecenia w tle, należałoby użyć '$!', które zwraca PID ostatniego procesu uruchomionego w tle. Podobnie, odpowiedź wskazująca na numer procesu aktualnie wykonywanej powłoki jest myląca, ponieważ powłoka nie zwraca swojego własnego PID przez '$?'. Również pojęcie listy wszystkich parametrów jest dalekie od rzeczywistości, gdyż '$?' nie ma związku z parametrami przekazywanymi do skryptu czy funkcji. Zrozumienie tych podstawowych różnic jest kluczowe, gdyż błędne użycie zmiennych powłokowych może prowadzić do nieefektywnych skryptów i trudności w ich debugowaniu. W kontekście pisania skryptów, ważne jest, aby precyzyjnie rozumieć, co dany symbol oznacza i jakie informacje można z jego użyciem uzyskać. Często programiści początkujący mylą te zmienne, co prowadzi do nieporozumień i błędów w logicznej konstrukcji skryptów. Warto również zapoznać się z dokumentacją, aby lepiej zrozumieć, jak działają polecenia w powłoce bash i jakie mają zastosowanie w praktyce.