2012-10-19 85 views
0

我是新来的Expect,程序在我的机器上执行以登录到远程IBM主机并执行脚本。 但是,输出不显示在我的本地系统控制台或执行脚本的终端中。打印Spawn命令的输出

示例代码:

expect -c " 
    spawn ssh @hostname "./ibm_nettrace.sh;ls -ltr;mkdir netos;" 
    expect eof 
    " 

这里,shell脚本,由于文件权限失败。 但错误不会路由到我的控制台。

回答

1

我认为你需要像这样在引号内跳过引用。

expect -c " 
spawn ssh @hostname \"./ibm_nettrace.sh;ls -ltr;mkdir netos;\" 
expect eof 
" 

或者,通过使用单引号是这样的:

expect -c ' 
spawn ssh @hostname "./ibm_nettrace.sh;ls -ltr;mkdir netos;" 
expect eof 
' 
+0

或者使用TCL在产卵通话括号:'希望-c “重生... {...}; ...” ' –