请教关于date日期时间运算的问题
$ date
2012年 11月 13日 星期二 16:41:37 CST
$ echo $(($(/bin/date +%Y%m%d%H)-100))
2012111216
----
大家好:
我想请教一下以上脚本$(($(/bin/date +%Y%m%d%H)-100))部分-100得到的结果怎么会是2012111216?这里的-100是减100分钟还是100小时呢?
因为当前时间date是 2012-11-13 16:41:37,-100也不可能得到2012-11-12-16 的结果啊?
还有 $(($(/bin/date +%Y%m%d%H)-100)),这里为什么最前面还要加多一个$符号和两个((圆括号呢?这代表什么意思?$(($(/bin/date +%Y%m%d%H)-100))这部分是怎么执行的?
---
待复,感谢!
------最佳解决方案--------------------$(ls)
$()获取shell命令的输出结果
$(())shell中算术计算
$(/bin/date +%Y%m%d%H)获取/bin/date +%Y%m%d%H的执行结果
$(($(/bin/date +%Y%m%d%H)-100)) $(/bin/date +%Y%m%d%H)-100的算术结果
------其他解决方案--------------------这个是单纯的数字相减
2012-11-13 16:41:37得到的数字是2012111316
2012111316-100=2012111216
------其他解决方案--------------------$(/bin/date +%Y%m%d%H) 输出的是一串数字, 给一个数字-100有什么问题吗?
2012111317 - 100 = 2012111217
仅此而已.
------其他解决方案--------------------
但是 $(($(/bin/date +%Y%m%d%H)-100)),这里为什么最前面还要加多一个$符号和两个((圆括号呢?这代表什么意思?$(($(/bin/date +%Y%m%d%H)-100))这部分是怎么执行的?