Expect脚本无法生成dhclient命令

时间:2016-01-13 12:53:47

标签: ubuntu tcl expect

我正在编写一个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

1 个答案:

答案 0 :(得分:1)

试试这个。希望这能解决您的需求。

spawn bash

设置dh_client $ spawn_id

发送" dhclient vpn_tun0 \ r"

期待""