2012-10-19 115 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 「重生... {...}; ...」 ' –