如何通过Expect获取远程主机名?

时间:2013-02-21 04:18:23

标签: unix expect hostname

我正在尝试使用Expect在远程Unix系统上自动执行某些命令,它试图根据远程主机名获取数据。一个例子,

expect -re $prompt
send "lsnrctl status listener_`hostname`\r"

问题是,当通过Expect运行时,此命令将获取本地主机名而不是远程主机名,从而导致无效输出。

我需要对Expect脚本进行哪些更改才能使命令获取远程主机名?或者我是否需要对命令本身进行任何更改?

非常感谢。

1 个答案:

答案 0 :(得分:0)

使用单引号。单引号中的字符串不会被本地shell解释:

expect -re $prompt 
send 'lsnrctl status listener_`hostname`\r'