2017-04-10 70 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