我需要编写一个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会话生成到服务器来执行此操作时它无法正常工作
答案 0 :(得分:0)
检查脚本中的当前目录(请参阅pwd
命令)。如果它不是你所期望的,那就可以彻底打破使用相对路径的东西。
答案 1 :(得分:0)
从手册:
打开fileName访问
打开文件只读;该文件必须已存在。这是 如果未指定访问,则为默认值。
r 访问要求文件存在,并且不能由命令本身创建。 你创造它吗? 您尝试过 a 或其他一些访问权限吗?