Синтакса наредбе за спавање:
број спавања [суфикс]
Као вредност времена можете користити било који целобројни или разложени број. Суфиксни део није обавезан за ову наредбу. Ако изоставите суфикс, тада се вредност времена подразумевано израчунава у секундама. Можете користити с, м, х и д као суфиксна вредност. Следећи примери показују употребу наредбе за спавање са различитим суфиксима.
Пример-1: наредба за спавање без икаквог суфикса
У следећој скрипти команда за спавање се користи са нумеричком вредношћу 2 само и не користи се суфикс. Дакле, ако покренете скрипту, тада ће низ „Задатак је завршен”Исписује се након чекања од 2 секунде.
#!/ бин / басхецхо "Чекање 2 секунде ..."
спавати 2
ецхо "Задатак је завршен"
Покрените басх датотеку са време наредба за приказ три врсте временских вриједности за покретање скрипте. Излаз приказује време које користи систем, корисник и реално време.
$ тиме басх слееп1.схИзлаз:
Пример-2: наредба за спавање са минутним суфиксом
У следећој скрипти, 'м'користи се као суфикс наредбе за спавање. Овде је вредност времена 0.05 минута. Након чекања 0.05 минута, “Задатак је завршен”Порука ће се одштампати.
#!/ бин / басхехо „Чекајући 0.05 минута ... "
спавати 0.05м
ецхо "Задатак је завршен"
Покрените скрипту са време наредба као први пример.
$ тиме басх слееп2.схИзлаз:
Пример-3: наредба за спавање са суфиксом сата
У следећој скрипти, 'х'користи се као суфикс наредбе за спавање. Овде је вредност времена 0.003 сата. Након чекања 0.003 сата “Задатак је завршен“Треба да буде одштампан на екрану, али захтева више пута у стварности када 'х' користи се суфикс.
#!/ бин / басхехо „Чекајући 0.003 сата ... "
спавати 0.003х
ецхо "Задатак је завршен"
$ тиме басх слееп3.сх
Излаз:
Пример-4: наредба за спавање са петљом
Наредбу за спавање можете користити у разне сврхе. У следећем примеру, наредба мировања се користи са петљом вхиле. У почетку вредност променљиве н је постављено на 1 и вредност н биће увећана за 1 за 4 пута у сваком 2 интервал у секундама. Дакле, када ћете покренути скрипту, сваки излаз ће се појавити након чекања од 2 секунде.
#!/ бин / басхн = 1
док [$ н -лт 5]
урадите
ецхо "Вредност н је сада $ н"
спавати 2с
одјек " "
((н = $ н + 1))
Готово
Излаз:
Пример-5: наредба за спавање у терминалу са осталим командама
Претпоставимо да желите да покренете више наредби и поставите фиксни временски интервал између излаза две наредбе, а затим можете да користите наредбу спавања да бисте урадили тај задатак. У овом примеру команда лс и пвд су са спавати команда. Након извршења наредбе, лс наредба ће приказати листу директорија тренутног директоријума и приказати тренутну путању радног директорија након чекања од 2 секунде.
$ лс && спавај 2 && пвдИзлаз:
Пример-6: Коришћење наредбе за спавање из командне линије
наредба за спавање се користи између две ехо наредбе у следећем примеру. Након извршавања наредбе приказаће се три временске вредности.
$ време (ецхо "Старт"; слееп 5; ецхо "Енд")Излаз:
наредба мировања је корисна наредба када требате написати басх скрипту са више наредби или задатака, излаз било које наредбе може захтијевати велику количину времена, а друге наредбе треба чекати да изврше задатак претходне наредбе. На пример, желите да преузмете секвенцијалне датотеке, а следеће преузимање не може да се започне пре завршетка претходног преузимања. У овом случају, боље је преспавати наредбу пре сваког преузимања да бисте сачекали одређено време.