0

私はExpectを初めて使用し、リモートIBMホストにログインしてスクリプトを実行するために、私のマシンでプログラムが実行されます。しかし、出力はローカル システム コンソールまたはスクリプトが実行されるターミナルに表示されません。

サンプルコード:

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

ここで、シェル スクリプトは、ファイルのアクセス許可が原因で失敗します。しかし、エラーはコンソールにルーティングされません。

4

1 に答える 1

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
 '
于 2012-10-19T20:47:54.813 に答える