无法验证正在解析为 Expect Script 的参数

Failed to validate arguments being parsed to Expect Script

我是第一次编写 Expect 脚本,我想要一个检查器来验证用户参数。但是我收到以下错误,如果您知道出了什么问题,请告诉我。谢谢

#!/usr/bin/expect

if {$argc != 1}
{
        puts 'Insert IP address of tftp server'
        exit 1
}

这是错误

jeff@mymachine:/home/jeff~$ ./test.sh
wrong # args: no script following "$argc != 1" argument
    while executing
"if {$argc != 1}"
    (file "./test.sh" line 3)

Expect 基于 Tcl。在编写代码时,Tcl 解析器不知道 if 语句应该在下一行继续。您可以通过编写

来解决此问题
if {$argc != 1} \
{
    puts 'Insert IP address of tftp server'
    exit 1
}

if {$argc != 1} {
    puts 'Insert IP address of tftp server'
    exit 1
}