我正在编写一个tcl expect脚本来连接到Ubuntu客户端上的vpn服务器(softether)。客户端连接到vpn服务器然后我想运行“dhclient vpn_tun0”从vpn服务器获取IP地址,其中vpn_tun0是我的适配器的名称。在终端中运行命令工作正常,但我无法弄清楚如何使它在脚本中工作。
我尝试过以下但没有运气。我也广泛搜索了这个问题。
spawn dhclient vpn_tun0
spawn "dhclient vpn_tun0"
send "dhclient vpn_tun0"
第一个命令导致没有错误但没有IP。
第二个结果
spawn dhclient vpn_tun0
couldn't execute "dhclient vpn_tun0": no such file or directory
while executing
"spawn "dhclient vpn_tun0""
第三个只是将文本发送到终端输出。
这是vpn连接后的测试脚本:
#!/usr/bin/expect -f
if { [exec id -u] ne 0 } {
puts "sorry. you are not root"
exit 1
}
spawn dhclient vpn_tun0
close
答案 0 :(得分:1)
试试这个。希望这能解决您的需求。
spawn bash
设置dh_client $ spawn_id
发送" dhclient vpn_tun0 \ r"
期待""