GeeksforGeeks

polecenie exec w Linuksie jest używane do wykonania polecenia z samego Basha. To polecenie nie tworzy nowego procesu, tylko zastępuje bash poleceniem do wykonania. Jeśli polecenie exec powiedzie się, nie powróci do procesu wywołującego.

składnia:

exec ] 

opcje:

  • c: służy do wykonania polecenia z pustym środowiskiem.
  • nazwa: używana do przekazania nazwy jako argumentu zerowego polecenia.
  • l: służy do przekazywania myślnika jako argumentu zerowego polecenia.

Uwaga: polecenie exec nie tworzy nowego procesu. Kiedy uruchamiamy polecenie exec z terminala, bieżący proces terminala jest zastępowany przez polecenie, które jest dostarczane jako argument dla polecenia exec.

polecenie exec może być użyte w dwóch trybach:

  • Exec z poleceniem jako argumentem: w pierwszym trybie exec próbuje wykonać polecenie przekazując pozostałe argumenty, jeśli istnieją, do tego polecenia i zarządzając przekierowaniami, jeśli istnieją.

    przykład 1:

    przykład 2:

    polecenie exec przeszukuje ścieżkę wymienioną w zmiennej $PATH, aby znaleźć polecenie do wykonania. Jeśli polecenie nie zostanie znalezione, polecenie exec oraz powłoka zakończy działanie w wyniku błędu.

  • Exec bez polecenia: jeśli żadne polecenie nie zostanie dostarczone, przekierowania mogą być użyte do modyfikacji bieżącego środowiska powłoki. Jest to przydatne, ponieważ pozwala nam zmieniać deskryptory plików powłoki zgodnie z naszym życzeniem. Proces jest kontynuowany nawet po poleceniu exec, w przeciwieństwie do poprzedniego przypadku, ale teraz standardowe wejście, wyjście i błąd są modyfikowane zgodnie z przekierowaniami.

    przykład:

    tutaj polecenie exec zmienia standard z powłoki na plik tmp i tak wszystkie polecenia wykonywane po poleceniu exec zapisują swoje wyniki w tym pliku. Jest to jeden z najczęstszych sposobów korzystania z exec bez żadnych poleceń.

Tagi artykułu :

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *