版本ubuntu12
今天看了下shell腳本編寫的資料,對照書寫了個(gè)shell,然后發(fā)現(xiàn)無法獲取日期
先date了一下可以輸出日期,不過時(shí)區(qū)不對,順便改了下時(shí)區(qū)
修改ubuntu時(shí)區(qū)參照以下方法
sudo tzconfig,如果命令不存在請使用 dpkg-reconfigure tzdata 然后按照提示選擇 Asia對應(yīng)的序號,選完后會顯示一堆新的提示—輸入城市名,如Shanghai或Chongqing,最后再用 sudo date -s “” 來修改本地時(shí)間。 按照提示進(jìn)行選擇時(shí)區(qū),然后: sudo cp /usr/share/zoneinfo/Asia/ShangHai /etc/localtime 上面的命令是防止系統(tǒng)重啟后時(shí)區(qū)改變。 cn.pool.ntp.org是位于中國的公共NTP服務(wù)器,用來同步你的時(shí)間(如果你的時(shí)間與服務(wù)器的時(shí)間截不同的話,可能無法同步時(shí)間喲,甚至連sudo reboot這樣的指令也無法執(zhí)行)。 改好時(shí)區(qū)后試了下echo $date,發(fā)現(xiàn)系統(tǒng)變量里面沒有設(shè)置date這個(gè)變量,后來才知道date是一個(gè)函數(shù) #export date=$(date +"%Y%m%d") #echo $date #20101115 查了下shell日期計(jì)算的方法終于把腳本寫出來了。 以下就是文件名+日期的命名,備份可以派上用場 echo "I'll use 'touch' command to create 3 files." read -p "please input the filename what you want to create :" filename echo $filename date1=$(date -d echo $date1 date2=$(date -d date3=$(date -d file1="$filename""$date1" file2="$filename""$date2" file3="$filename""$date3" touch $file1 touch $file2 touch $file3 日期計(jì)算方法 一:直接調(diào)用系統(tǒng)變量 獲得當(dāng)前時(shí)間:date '+%Y-%m-%d %H:%M:%S'
獲取今天時(shí)期:date +%Y%m%d 獲取昨天時(shí)期:date -d yesterday +%Y%m%d 獲取前天日期:date -d -2day +%Y%m%d 依次類推比如獲取10天前的日期:date -d -10day +%Y%m%d date +%s date -d '1970-01-01 UTC 946684800 seconds' +"%Y-%m-%d %T %z" 其中:946684800表示時(shí)間戳。 awk中獲取時(shí)間的方式: 兩種方式: awk '{now=strftime("%D",systime()); print now}' awk '{now=strftime("%D");print now}' 常用命令: awk '{print strftime("%y-%m-%e %H:%M:%S")}' 參數(shù)說明: Table 3. 日期和時(shí)間格式說明符 格式 描述
|
|