当前面临一个问题,我无法解释。
使用TCL期望将命令发送到在linux(busybox)上运行的远程telnet设备。该命令的确认回显以
结尾 '&& echo helloMyNameIsCarl'
。
当我尝试验证命令已发送时,TCL Expect的“期望”调试给了我
"helloMyNameI\n\n\nsCarl"
从另一台PC(不是目标设备,而是源计算机)触发的同一件事运行良好-答复中没有'\ n \ n ...'。麻烦的源设备在更换了网络适配器之前没有任何问题。
示例:
package require Expect
spawn telnet 192.168.1.1
set telnetId $spawn_id
exp_internal 1
puts $telnetId "get_linux_env_params_random_command && echo 11223344556677"
expect "11223344556677"; #verifying the command was fully sent to the device
expect "11223344556677"; #verifying the echo respond
预期的调试将是:
expect: does "# get_linux_env_para " (spawn_id exp4) match glob pattern "get_linux_env_params_random_command && echo 11223344556677"
? no
expect: does "# get_linux_env_params_random_command && echo 11" (spawn_id exp4) match glob pattern "get_linux_env_params_random_command && echo 11223344556677"? no
expect: does "# get_linux_env_params_random_command && echo 11223344" (spawn_id exp4) match glob pattern "get_linux_env_params_random_command && echo 11223344556677"? no
expect: does "# get_linux_env_params_random_command && echo 11223344\n\n" (spawn_id exp4) match glob pattern "get_linux_env_params_random_command && echo 11223344556677"? no
expect: does "# get_linux_env_params_random_command && echo 11223344\n\n5\n5\n6677\n\n" (spawn_id exp4) match glob pattern "get_linux_env_params_random_command && echo 11223344556677"? no
对此有何建议?