Embedded 如何使用expect创建sh脚本?
我正在尝试使用expect script for embedded system创建一个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
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 ^^^^^