无法在expect脚本中打开文件

时间:2016-06-01 12:39:53

标签: tcl expect

我需要编写一个expect脚本来打开一个文件,然后搜索文件的内容以查看它是否有错误代码1040.这是我写的代码:

set f1 [open syslogs.txt r]
while {[gets $f1 line]!= -1} {
if {[regexp {.*1040.*} $line]} {
    puts "yes"
}
}

但是当我尝试运行此脚本时,它会一直显示

 couldn't open "syslogs.txt": no such file or directory
while executing
"open syslogs.txt r"


invoked from within

我也改变了文件权限。有人可以帮我解决这个问题.. 从本地计算机执行此操作时,它可以正常工作但是通过将telnet会话生成到服务器来执行此操作时它无法正常工作

2 个答案:

答案 0 :(得分:0)

检查脚本中的当前目录(请参阅pwd命令)。如果它不是你所期望的,那就可以彻底打破使用相对路径的东西。

答案 1 :(得分:0)

从手册:

打开fileName访问

  

打开文件只读;该文件必须已存在。这是   如果未指定访问,则为默认值。

r 访问要求文件存在,并且不能由命令本身创建。 你创造它吗? 您尝试过 a 或其他一些访问权限吗?

相关问题