我如何在期望脚本中约会

时间:2013-07-06 06:39:33

标签: expect

我需要访问expect脚本中的当前日期(或时间),以便我可以将其添加到expect脚本中创建的目录中,例如类似于这些需要完成的事情

mkdir file<date>

我可以通过shell约会

date | tr " " "-" | cut -f 2,4 -d "-"

但是,我无法访问它,例如不能做像

这样的事情
set var = `date | tr " " "-" | cut -f 2,4 -d "-"`

我把它放在一个shell脚本中然后回显它并在$expect_out(buffer)中获得详细here的输出。但是,缓冲区也会获得需要删除的提示另外,请注意$expect_out(buffer)并不能真正满足人们的需求;它通常需要过滤至少以消除提示。

2 个答案:

答案 0 :(得分:12)

在期望中,您将使用内置clock命令:

set now [clock seconds]
set date [clock format $now -format {%b-%d}]
set file file.$date

或者一气呵成:

set file file.[clock format [clock seconds] -format {%b-%d}]

我强烈建议您使用明智排序的日期格式

set file file.[clock format [clock seconds] -format {%Y-%m-%d}]

答案 1 :(得分:1)

从预期脚本剪切:

# set DATE variable in expect script
set DATE [exec date +%F]
send "This is test with expect on $DATE  try 4\r"
send ".\r"