我需要访问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)
并不能真正满足人们的需求;它通常需要过滤至少以消除提示。
答案 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"