Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Embedded 如何使用expect创建sh脚本?_Embedded_Sh_Embedded Linux_Expect - Fatal编程技术网

Embedded 如何使用expect创建sh脚本?

Embedded 如何使用expect创建sh脚本?,embedded,sh,embedded-linux,expect,Embedded,Sh,Embedded Linux,Expect,我正在尝试使用expect script for embedded system创建一个sh脚本(我不想更改固件以包含此脚本)。因此,我有以下脚本,由于在if-block中错误地使用了val,因此无法工作: #!/usr/bin/env expect set timeout 20 set ipaddr [lindex $argv 0] spawn telnet $ipaddr expect "soc1 login: " send "root\n" expect "prompt # " send

我正在尝试使用expect script for embedded system创建一个sh脚本(我不想更改固件以包含此脚本)。因此,我有以下脚本,由于在
if
-block中错误地使用了
val
,因此无法工作:

#!/usr/bin/env expect

set timeout 20
set ipaddr [lindex $argv 0]
spawn telnet $ipaddr
expect "soc1 login: "
send "root\n"
expect "prompt # "
send "val=`some_command`\n"
expect "prompt # "
send "if [ \$val -eq 0 ]; then echo Good; fi\n"
# its here ^^^^^
expect "prompt # "
send "exit\n"
interact
我尝试过使用
$$
,但没有效果。
如何修复此脚本以允许在sh脚本中使用变量?

脚本的问题在于
[
]
的范围-应跳过以下括号:

send "if \[ \$val -eq 0 \]; then echo Good; fi\n"
# its here ^^^^^