2014-02-21 34 views
0

我有一個bash腳本來幫助你決定是否註銷,重啓,關閉,或者只是退出腳本,我已經有了一個基本的日誌記錄形式。但是它只記錄被問到的問題,我怎樣才能得到它以記錄答覆,並將時間/日期戳記發生在何時發生?註銷/重啓/關機/退出腳本,但如何做記錄?

#!/bin/bash 
log="/home/$USER/logs/reboot.txt" 
killbrowser="/usr/bin/killall chrome; /usr/bin/killall chromium" 
exec > >(tee -a $log) 2>&1 
echo 
{ 
read -n1 -p "$(tput setaf 1) Do you want to logoff, reboot, shutdown or just quit? [l/r/s/q] " lrsq 
    case "$lrsq" in 
     [Ll]*) $killbrowser; exit && exit;; 
     [Rr]*) $killbrowser; sudo /sbin/reboot $*; echo; exit;; 
     [Ss]*) $killbrowser; sudo /sbin/shutdown $*; echo; exit;; 
    [Qq]*) echo; exit;; 
    *) 
esac 
} 

回答

1

非常簡單的解決方案可能是case之前添加此行:

echo "Answer: $lrsq" >> $log 

小念頭:我不認爲殺瀏覽器部分是無論如何必要發行重啓或關機的前系統也會自動發出同樣的信息。

要添加時間戳:

echo "$(date +%Y-%m-%d\ %H:%M:%S) Answer: $lrsq" >> $log 

(使用man date檢查格式選項)

+0

謝謝,它記錄了答覆,但沒有時間戳它。我更喜歡在重新啓動/關閉之前明確地關閉瀏覽器,特別是它也會將我從「fluxbox」中註銷。 – boudiccas

+0

謝謝,就是這樣做的,雖然我確實增加了另一個'回聲; '在你的時間戳行之前強制日誌中的新行。 – boudiccas