2010-12-21 6 views
-1

복사본을 만들려면 Subversion 저장소의 여러 가지 분기를 전환해야하는 스크립트가 있습니다. 따라서 암호를 반복해서 입력해야합니다. 자, 일단이 작업을 몇 번하고 난 대본에 잘 들어 섰습니다. 나는 나를 크게 화나게한다.사용자 이름과 비밀번호를 반복해서 입력하는 스크립트가 필요합니다.

이전에 프롬프트에 암호를 입력해야합니다. 나는 작업이 끝날 때까지 여러 번 암호 프롬프트를 반복해서 실행할 것을 기대하는 방법을 배우기를 바랬다.

지금까지 내가 가지고있는 것입니다.

#!/usr/bin/expect 
global env 
set timeout 10 
spawn command that requires password 
expect "^user" 
send "password\r" 
#i need this to repeat over and over until the prompt stops showing up. 

감사합니다.

답변

2

나이브, 무력 방법 :

while 1 { 
    expect $prompt 
    send $password\r 
} 

더 나은 :

expect { 
    $prompt { 
     send $password\r 
     exp_continue 
    } 
    timeout { 
     puts "haven't seen prompt for $timeout seconds" 
    } 
    "some pattern that indicates password no longer required" 
} 
puts "continuing ..." 
5

ssh keys을 사용하여 암호를 계속 입력 할 필요가 없습니까?

+0

SSH 키가 일을 해달라고, 나는 그들에게 설정을 가지고 있지만 내가이 명령을 실행하고 때,이를 확인하지 않습니다 . – myusuf3

+0

제 의견으로는이 스크립트를 작동시키는 것보다 훨씬 더 유익합니다. 대신에 그 질문을하는 것이 어떻습니까? 모든 것을 올바르게 설정 한 경우 작동합니다. 나는이 모든 일을 나의 서버와 삶이 훨씬 쉬울 것입니다. –

관련 문제