Не удалось открыть файл в ожидаемом скрипте

Мне нужно написать сценарий ожидания, чтобы открыть файл, а затем найти его содержимое, чтобы увидеть, есть ли у него код ошибки 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 ответа

Из руководства:

открыть доступ к файлу имени

Откройте файл только для чтения; файл должен уже существовать. Это значение по умолчанию, если доступ не указан.

Доступ r требует, чтобы файл существовал и не мог быть создан самой командой. Вы создаете это? Вы пробовали с или другим значением доступа?

Проверьте текущий каталог (см. pwd команда) внутри вашего сценария. Если это не то, что вы ожидаете, это может полностью сломать вещи, которые используют относительные пути.

Другие вопросы по тегам