2011-02-10 30 views
1

私はlinux 'expect'を使ってパスワードを自動化しています。linux expectコマンド

#!/usr/bin/expect 
set password passwd 
spawn scp * [email protected]_address:. 
expect "password:" 
send "$password\r" 
expect eof 
output : 
spawn scp * [email protected]_address:. 
[email protected]_address's password: *: No such file or directory 

正規表現「*」のように見えます。私はキーを設定するためのssh-key genメソッドを知っているが、 'expect'コマンドは私の特定のケースに適している。

答えて

1

*は有効な正規表現ではありません。使用しているコンテキストでは、ワイルドカードになります。 spawnはそれを文字どおり解釈し、開始するプログラムの引数として渡します。

アスタリスクのグロビングをしたい場合、あなたはあなたのためにそれを行うには、シェルを取得する必要があります:

spawn sh -c "scp * [email protected]" 
+1

他に選択肢は 'glob'コマンドで –

+0

感謝をグロブ展開を行う期待させることですBlrfl。それが助けになった。 –

関連する問題