Expect中“send_user”和“puts”之间有什么区别吗?

时间:2012-12-11 07:39:02

标签: tcl expect

我一直在使用Expect几年,但我仍然不清楚send_user是否与puts相同。每当我想向用户发送信息性消息时,我想知道应该使用哪一个。在Expect的手册页中,似乎send_userputs相同,但send_user用于什么?

2 个答案:

答案 0 :(得分:10)

除了新行之外,我刚刚发现的另一个区别是,如果你在Expect脚本中使用log_file,那么通过send_user发送的语句将会进入logfile,而使用puts发送的语句则不会。如果您要自动化某些不在您的实际控制台上运行的Expect脚本,那么这会产生很大的不同。

答案 1 :(得分:8)

主要区别在于puts会自动附加换行符 send_user没有。在这方面,puts -nonewline更加类似 到send_user

send_user还“延续”期望send的一些选项,例如-s-h(查看期望手册页了解详情)。看到 http://99-bottles-of-beer.net/language-expect-249.html 使用-h标志。

我无法谈论它们是如何在C级实施的。