當前位置:首頁 » 編程軟體 » sh腳本中顯示當前時間

sh腳本中顯示當前時間

發布時間: 2023-07-09 20:20:54

㈠ shell腳本計算時間

TIME_INPUT=`date -d "00:00" +%s`
通過時間戳來計算
nowtime=`date +%s`
shijiancha=`expr $nowtime - $TIME_INPUT`
if [ $shijiancha -gt 180 ];then
echo 3分鍾前

else
if [ $shijiancha -lt -180 ];then

echo 3分鍾後

fi

fi

㈡ 如何正確在linux Shell腳本中定義一個時間變數

1、創建腳本 test.sh,並入截圖內容。

㈢ Linux下用shell獲取指定文件的最後修改時間並與系統時間比對,如果相差時間超過3分鍾則執行另一個腳本

使用date命令加上合適的時間格式化字元串(+%s),會顯示當前時間(或-d參數指定的時間)與1970-01-01 00:00:00相差的秒數(詳細可以參考date的man手冊)

所以基本想法就是使用date命令分別獲取當前時間與文件修改時間的秒數,然後看這2個秒數之間是否有相差180秒以上。

獲取當前時間比較簡單,直接date +%s就ok了

下面看看如何獲取文件時間

使用stat 命令後面跟一個文件名可以獲取文件的狀態,包括文件修改時間。其中文件修改時間會單獨一行顯示,格式如下:Modify: 2013-02-21 17:58:05.404876407 +0800 (具體的精度可能系統不同略微有些差別,但大致格式是這樣)

所以我們可以stat myfilename | grep Modify來獲取文件的修改時間的信息,然後通過awk分別獲取時間的日期和時間段

stat myfilename | grep Modify | awk '{print $2}' #這句獲取了日期段,即上面例子裡面的2013-02-21

stat myfilename | grep Modify | awk '{split($3,var,".");print var[1]}' #這句獲取了時間段,即上面例子裡面的17:58:05,具體關於awk的使用可以參考awk的使用手冊

那麼現在可以獲取文件修改時間與1970-01-01 00:00:00相差的描述了,就是date -d "$file_date $file_time" +%s

那麼這個時間與當前時間想減的結果與180相比就可以知道是否滿足條件了,滿足條件的話就可以執行相應的命令。

參考代碼如下:

current_datetime=`date +%s`
filedate=`stat tt.txt | grep Modify | awk '{print $2}'`
filetime=`stat tt.txt | grep Modify | awk '{split($3,var,".");print var[1]}'`
file_datetime=`date -d "$filedate $filetime" +%s
timedelta=`expr $current_datetime - $file_datetime`
if [ "$timedelta" -gt "180" ];then
echo "match condition"
fi

㈣ shell腳本關於時間的判斷

這個用linux的date命令就可以實現,主要是判斷當前的小時是否位於0晨就可以。代碼大致如下:

#!/bin/sh
currentHour=$(date +%H)
if [ $currentHour -eq 00 ]
then
currentTime=$(date +%s);
tmp=$(($currentTime-3600));
echo $(date -d "@$tmp" +%Y-%m-%d);
else
echo $(date +%Y-%m-%d);
fi

㈤ shell 腳本執行日誌怎麼才能帶有時間戳

封裝一個寫log的shell lib,定義如下函數
#!/bin/sh
function write_log()
{
local logType=$1
local logMsg=$2
local logName=$3
echo "$logType : `date +%Y-%m-%d\ %T` : $logMsg" >> $logName
}
# 按照如下方法調用,可以看到log.txt裡面列印了日期啦
write_log FATAL "something error" log.txt

㈥ 如何在centos中用bash編寫shell腳本實現收集系統輸出當前的時間

1,$HOME/getdate.sh,內容如下: #!/bin/bash DATE=/bin/date $DATE +"%F %T" >>$HOME/date_log.log 2. $HOME/call_gd.sh,內容如下 #!/bin/bash SH=/bin/sh ${SH} $HOME/getdate.sh

熱點內容
安卓手機下雪特效怎麼p 發布:2025-02-07 15:49:30 瀏覽:318
輪胎存儲銘牌 發布:2025-02-07 15:43:38 瀏覽:73
防盜鎖編程 發布:2025-02-07 15:31:33 瀏覽:859
安卓如何快速選擇圖片 發布:2025-02-07 15:30:43 瀏覽:467
硬體組態為什麼不能編譯 發布:2025-02-07 15:30:43 瀏覽:42
紅帆oa伺服器地址查詢 發布:2025-02-07 14:31:41 瀏覽:657
文本框腳本圖片 發布:2025-02-07 14:23:28 瀏覽:231
少兒編程c語言 發布:2025-02-07 14:22:50 瀏覽:218
一階低通濾波器c語言 發布:2025-02-07 14:22:37 瀏覽:852
電腦的東西為什麼粘貼不到伺服器 發布:2025-02-07 14:21:04 瀏覽:197