Jak wstrzymać skrypt Bash za pomocą polecenia uśpienia Linuksa

Polecenie uśpienia sprawia, że ​​komputer z systemem Linux nic nie robi. Być może sprzeczne z intuicją, ale okres bezczynności jest czasem tym, czego potrzebujemy. W tym artykule pokazano, jak skutecznie używać tego polecenia powłoki Bash.

Korzystanie ze snu jest łatwe. W wierszu poleceń wpisz uśpienie, spację, liczbę, a następnie naciśnij klawisz Enter.

sleep 5

Kursor zniknie na pięć sekund, a następnie powróci. Co się stało? Użycie usypiania w wierszu poleceń instruuje Bash, aby zawiesił przetwarzanie na podany czas. W naszym przykładzie było to pięć sekund.

Brak widocznych wyników polecenia uśpienia 5

Czas snu możemy przekazać w dniach, godzinach i minutach, a także w sekundach. Aby to zrobić, dodaj przyrostek d, h, m lub s do czasu trwania. Aby wstrzymać sen na jeden dzień, cztery godziny, siedem minut i pięć sekund, użyj następującego polecenia:

sleep 1d 4h 7m 5s

Sufiks s (oznaczający sekundy) jest opcjonalny. Bez sufiksu czas trwania będzie traktowany jako sekundy. Załóżmy, że chcesz mieć przerwę na sen trwającą pięć minut i dwadzieścia sekund. Jednym z poprawnych formatów tego polecenia jest:

sleep 5m 20

Jeśli zapomnisz podać przyrostek m oznaczający czas trwania minut, poinstruujesz sen, aby wstrzymał go na pięć sekund, a następnie ponownie na dwadzieścia sekund. Więc sen zatrzyma się na 25 sekund.

Wiele poleceń wymaga podania parametrów w określonej kolejności, ale sen jest bardzo wyrozumiały. Możesz podawać je w dowolnej kolejności, a sen nabierze z nich sensu. Jako parametr można również podać liczbę zmiennoprzecinkową. Na przykład 0,5 godziny jest prawidłowym sposobem wskazania, że ​​chcesz spać z przerwą na pół godziny.

Wszystkie poniższe (coraz bardziej ekscentryczne) polecenia nakazują sen pauzować na 10 sekund.

sleep 10
sleep 5 5s
Sleep 1 1 1s 1 1 1s 1 2
sleep 0.16667m

Uśpienie do wstrzymania przed wydaniem polecenia

Polecenie uśpienia może być użyte do wstrzymania wykonania polecenia. To polecenie zatrzymywało się na 15 sekund, a następnie wydawało sygnał dźwiękowy.

sleep 15 && echo -en '