Jak przechowywać standardowy błąd do zmiennej w Bash

Jak przechowywać standardowy błąd do zmiennej w Bash

W BASH można przechowywać standardowe wyjście błędu polecenia do zmiennej za pomocą „2> i 1” operator i „$ ()” Składnia zastępcza dowodzenia. Tutaj „2>” przekierowuje komunikat o błędzie do I 1 ', które reprezentują standardowe wyjście. W przypadku Bash Shell działa jako standardowe urządzenie wyjściowe.

  • Na przykład, aby przechowywać standardowe wyjście błędu „ls” Polecenie do zmiennej o nazwie błędy, możesz użyć następującego polecenia:
    Błędy = $ (LS Non-Existent-File 2> i 1)  
    Zapisz standardowy błąd w zmiennej BASH

    Alternatywnie możesz użyć '$?' Specjalny parametr do przechowywania statusu wyjścia polecenia do zmiennej. Status wyjścia jest wartością liczbową, która wskazuje, czy polecenie zakończyło się sukcesem, czy nie. Wartość „0” Wskazuje sukces, podczas gdy wartość niezerowa wskazuje błąd.

  • Na przykład, aby przechowywać status wyjścia „ls” polecenie do zmiennej o nazwie status, możesz użyć następującego polecenia:
    LS nieistniejący plik  Status = $?  
  • Następnie możesz użyć „Status $” zmienna do sprawdzenia statusu wyjścia „ls” dowodzić i podejmij odpowiednie działania na podstawie wyniku. Na przykład: #!/usr/bin/env bash # pur twoje polecenia tutaj, jeśli [$ status -Ne 0]; Następnie Echo „Ostatnie polecenie nie powiodło się z błędem.„Fi
    123456#!/usr/bin/env bash # pur twoje polecenia itif [$ status -Ne 0]; Następnie Echo „Ostatnie polecenie nie powiodło się z błędem.„Fi

Pamiętaj, że „$ ()” Składnia zastępowania polecenia pozwala wykonać polecenie i zastąpić jego wyjście na miejscu. „2>” operator przekierowuje standardowe wyjście błędu polecenia do „I 1” strumień, który jest standardowym strumieniem wyjściowym. Pozwala to przechwycić zarówno wyjście standardowe, jak i standardowe błąd polecenia w jednej zmiennej.