下面显示的时钟操作在具有TCL 8.5的Linux机器上运行良好.但是当我在具有TCL8.4的SunOS上使用相同的内容时,我收到错误"bad switch"-format":必须是-base或-gmt".
出于某种原因,我无法在SunOS中将我的TCL 8.4升级到8.5.
任何人都可以请求帮助,我怎样才能使它在TCL 8.4中工作??????
下面给出了命令,我试图通过这些命令实现的是将系统日期提前一天.
$ today包含值"2012 06 15 14 39 20"
set today [clock scan $today -format "%Y %m %d %H %M %S"]
set tomorrow [clock add $today 86600 seconds]
set victim [clock format $tomorrow -format "%a"]
set tomorrow [clock format $tomorrow -format "%m%d%H%M"]
send "sudo date $tomorrow\r"
Run Code Online (Sandbox Code Playgroud)
谢谢
杰克逊的答案是问题的核心:8.5增加了很多功能clock
,你的代码依赖于它们.但是,他并没有确定获得目标时间的最佳方法.
# Multiple assignment from list
foreach {YY MM DD HH mm ss} $today break
# Get the date tomorrow in one funky step
set tomorrow [clock scan "$YY$MM$DD $HH$mm$ss + 86600 seconds"]
# Rest is the same as before
set victim [clock format $tomorrow -format "%a"]
set tomorrow [clock format $tomorrow -format "%m%d%H%M"]
send "sudo date $tomorrow\r"
Run Code Online (Sandbox Code Playgroud)
(你知道一天不会长86600秒吗?这比平均长度长200秒......)
归档时间: |
|
查看次数: |
6130 次 |
最近记录: |