Linux Shell指令碼攻略(1.10)

來源:互聯網
上載者:User

標籤:shell

1.10 擷取、設定日期和延時
  • 很多應用程式需要以不同的格式列印日期、設定日期和時間、根據日期和時間執行某項操作。延時通常用於在程式執行過程中提供一段等待時間(比如1秒)。同樣的,我們也能夠一多種格式列印日期,或者在命令列中設定日期。在類Unix系統中,日期被儲存為一個整數,其大小為自世界標準時間起所流逝的秒數。這種計時方式稱為紀元時Unix時間
1.10.1 擷取、設定時間
  • 以下的程式給出了多種用法:
#!/bin/bashstart=$(date +%s)                              #擷取紀元時間date                                           #輸出系統時間date +%s                                       #列印紀元時間date --date "Thu Nov 18 08:07:21 IST 2010" +%s #轉換成紀元時間date --date "Jan 20 2001" +%A                  #擷取當前星期幾#date "+%d %B %Y"                              #按格式列印日期date -s "21 June 2009 11:01:22"                #設定日期和時間end=$(date +%s)                                #擷取紀元時間difference=$((end-start))                      #擷取執行時間echo Time taken to execute commands is $difference seconds.
  • 注意:可以用time來得到指令碼的執行時間。
1.10.2 設定延時
  • 編寫以迴圈方式啟動並執行監視指令碼時,設定時間間隔是必不可少的。為了在指令碼中延遲執行一段時間,可以使用sleep no_of_seconds。
#!/bin/bashecho -n Count:tput sc                        #儲存游標位置count=0while true;    do        if [ $count -lt 40 ]        then            let count++            sleep 1;           #休眠1秒鐘            tput rc            #恢複游標位置            tput ed            #清除當前位置到末尾的內容            echo -n $count;        else exit 0;        fi    done
  • 以上這段指令碼顯示了如何使用延時。tput sc儲存游標位置,sc為 save cursor的縮寫。在每次迴圈中,通過恢複之前儲存的游標位置,在終端中列印出新的count值。tput rc用於恢複游標位置,rc為 recovery cursor的縮寫。tput ed清除從當前游標位置到行尾之間的所有內容,使得舊的值被清除,寫入新的值,ed可以看作是erase to end 的縮寫。在這段程式中,通過sleep 1提供1秒鐘的延時。
1.10.3 時間設定、讀取時常用的參數
日期內容 格式說明
星期 %a (例如:Sat)
%A (例如:Saturday)
%b (例如:Nov)
%B (例如:November)
%d (例如:31)
固定格式日期(mm/dd/yy) %D (例如:10/18/10)
%y (例如:10)
%Y (例如:2010)
小時 %I或%H (例如:08)
分鐘 %M (例如:33)
%S (例如:10)
納秒 %N (例如:692508515)
Unix紀元時(以秒為單位) %s (例如:1290049486)
1.10.4 參考
  • Linux Shell指令碼攻略

Linux Shell指令碼攻略(1.10)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.