Android

Jak korzystać z komendy linux sleep, aby wstrzymać skrypt bash

Kurs Linux dla każdego: Skrypty konsoli

Kurs Linux dla każdego: Skrypty konsoli

Spisu treści:

Anonim

Tryb uśpienia to narzędzie wiersza polecenia, które umożliwia zawieszenie procesu wywoływania na określony czas. Innymi słowy, polecenie uśpienia wstrzymuje wykonanie następnego polecenia na określoną liczbę sekund.

Polecenie uśpienia jest szczególnie przydatne, gdy jest używane w skrypcie powłoki bash, na przykład podczas ponawiania nieudanej operacji lub w pętli.

W tym samouczku pokażemy, jak używać polecenia uśpienia w systemie Linux.

Jak korzystać z polecenia snu

Składnia polecenia uśpienia jest następująca:

sleep NUMBER…

NUMBER może być dodatnią liczbą całkowitą lub liczbą zmiennoprzecinkową.

SUFFIX może być jednym z następujących:

  • s - sekundy (domyślnie) m - minuty h - godziny d - dni

Gdy nie jest używany przyrostek, domyślnie jest to sekunda.

Gdy podano dwa lub więcej argumentów, całkowity czas jest równy sumie ich wartości.

Oto kilka prostych przykładów pokazujących, jak używać polecenia uśpienia:

  • Śpij przez 5 sekund:

    sleep 5

    Śpij przez 0, 5 sekundy:

    sleep 0.5

    Śpij przez 2 minuty i 30 sekund:

    sleep 2m 30s

Przykłady skryptu Bash

Poniżej znajduje się najbardziej podstawowy przykład użycia polecenia sleep w skryptach Bash. Po uruchomieniu skryptu wydrukuje on aktualny czas w formacie HH:MM:SS . Następnie polecenie uśpienia wstrzyma skrypt na 5 sekund. Po upływie określonego czasu ostatni wiersz skryptu ponownie wydrukuje bieżący czas.

#!/bin/bash # start time date +"%H:%M:%S" # sleep for 5 seconds sleep 5 # end time date +"%H:%M:%S"

Dane wyjściowe będą wyglądać mniej więcej tak:

13:34:40 13:34:45

Rzućmy okiem na bardziej zaawansowany przykład.

#!/bin/bash while: do if ping -c 1 ip_address &> /dev/null then echo "Host is online" break fi sleep 5 done

Powyższy skrypt sprawdzi, czy host jest w trybie online, czy nie co 5 sekund, a gdy host przejdzie w tryb online, skrypt powiadomi Cię i przestanie działać.

Jak działa skrypt:

  • W pierwszym wierszu tworzymy nieskończoną pętlę while. Następnie używamy polecenia ping, aby ustalić, czy host z adresem IP adresu ip_address jest osiągalny, czy nie. Jeśli host jest osiągalny, skrypt wyświetli komunikat „Host is online” i zakończ pętlę. Jeśli host nie jest osiągalny, polecenie uśpienia wstrzymuje skrypt na 5 sekund, a następnie pętla rozpoczyna się od początku.

Wniosek

Do tej pory powinieneś dobrze rozumieć, jak używać polecenia uśpienia w systemie Linux.

Polecenie uśpienia jest jednym z najprostszych poleceń powłoki, akceptującym tylko jeden argument używany do określenia odstępu uśpienia.

terminal snu