我如何获得预期的昨天的日期

时间:2018-08-27 06:27:20

标签: linux expect

我写了一个期望脚本1.sh:

#!/usr/bin/expect
set yest [exec `date -d "yesterday" '+%Y%m%d'`]
send_user $yest
exit 1

并在Linux中运行,使用expect -d ./1.sh 但我收到此错误:

expect version 5.44.1.15
executing commands from command file ./1.sh
invalid command name "/bin/date"
    while executing
"date -d "yesterday" '+%Y%m%d'"
    invoked from within
"set yest [date -d "yesterday" '+%Y%m%d']"

所以,我该如何解决。我用Google搜索了一些东西,却一无所知。 我发现clock改为date

https://www.tcl.tk/man/tcl8.5/TclCmd/clock.htm

而且我有一种在bash中运行Expect的方法:

#!/bin/bash
expect <<!
## expect code ##
!

最后使用这种方法在expect script中获取昨天的字符串:

set yest [clock scan "yesterday"]
set yest1 [clock format $yest -format {%Y%m%d}]

2 个答案:

答案 0 :(得分:0)

尝试这种方式:

昨天:

date -d '-1 day' '+%Y%d%m'

对于前天:

date -d '-2 day' '+%Y%d%m'

答案 1 :(得分:0)

尝试一下

let list_of_list = [
    ["Chimiothérapie", "rettreret", 4, 1534716000000, 1535061600000],
    ["Chimiothérapie", "trferterteretretetr", 3, 1535061600000, 1535320800000],
    ["Chimiothérapie", "zrteretetrertertgerter", 4, 1534370400000, 1534716000000],
];

mylist=list_of_list.map(x=>{
   let obj={
       typetraitement: x[0], 
       acte: x[1],
       duree: x[2],
       datedebut:x[3],
       datefin:x[4]
   }
   return obj
})