2017-04-10 66 views
0

我創建了一個腳本,它將1970年1月1日之後的秒數添加到名爲datefile.txt的文件中。它看起來像這樣:Bash腳本 - 從文件中添加值並減去

echo $(date +%s) > datefile.txt 

我想現在要做的就是從文件讀取datefile.txt該值並減去從以前存儲在datefile.txt當前值(秒電流量)。

我嘗試了一堆東西,但我缺乏對bash語法和常識的瞭解。

最近一次嘗試:

d<datefile.txt 
echo $((d-date +%s)) 

顯然,這是一個智障的解決方案,因爲它不工作。

在Ubuntu上運行這個。

+0

請允許我給你的標準建議新人:如果答案解決您的問題,請通過點擊大的複選標記(✓)接受它旁邊以及可選贊成票它(最多投票至少需要15點聲望點)。 如果您發現其他答案有幫助,請投票給他們。接受(爲此你將獲得2點聲望點)和增加投票有助於未來的讀者。請參閱[相關幫助中心文章](http://stackoverflow.com/help/someone-answers)。 – mklement0

回答

0

後做:

echo $(date +%s) > datefile.txt 

你可以這樣做:

oldtime=$(<datefile.txt) 
difference=$(($(date +%s) - oldtime)) 

我假設你真的想從。減去新一舊的價值得到了肯定的結果。

$(<datefile.txt)擴展爲文件的全部內容。另外,請注意,當您想在算術表達式中使用命令的輸出時,必須用$()(命令替換)包含該命令,否則shell將不會知道這是您要執行的命令,而不是需要直接閱讀的論點。

+0

所以我並沒有那麼遙遠。問題是bash不像Netbeans和Visual Studio那樣友善,所以它不會幫助我們理解語法。 謝謝你們兩位!我現在無法上傳。 – LinuxN00b