Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: bash: het expect commando [Solved]  (gelezen 649 keer)

Offline peer

  • Lid
bash: het expect commando [Solved]
« Gepost op: 2021/10/10, 13:06:44 »
ik heb een bashscript om op mijn windscribe VPN in te loggen. als ik het command "windscribe login"dan wordt ik gevraagd naar mijn username en mijn password. Ik probeer de input van de username te automatiseren.  Hiervoor heb ik "expect"geïnstalleerd. Met behulp van de regel
autoexpect -f windscribeLogin.exp ./windscribeLogin.shwordt een nieuw opstartbaar bestand gemaakt. Als ik dit bestand vervolgens start dan wordt de login-porcedure gestart zonder dat er een username en een password worden gevraagd.
Echter, het password wordt leesbaar in het bestand opgeslagen en dat wil ik natuurlijk niet. Hier zijn de laatste regels (geanonimiseerd) van het bestand windscribeLogin.exp:
Windscribe Username: "
send -- "<<username>>\r"
expect -exact "<<username>>\r
Windscribe Password: "
send -- "<<password>>\r"
expect eof   
De laatste drie regels wil ik eigenlijk verwijderen maar als ik dat doe dan blijft het script hangen. Als expect d regels "Windows Password" ziet dan stuurt expect het password. Egenlijk moet expect deze vraag negeren.

Hoe kan ik dat doen??
Of is er een andere manier om alleen de username automatisch in te vullen?
« Laatst bewerkt op: 2021/10/10, 14:07:57 door peer »

Offline peer

  • Lid
Re: bash: het expect commando
« Reactie #1 Gepost op: 2021/10/10, 14:06:57 »
Ik heb het met behulp van google gevonden. Ik moet gebruik maken van 'interact'. De laatste regels waren
Windscribe Password: "
send -- "<<password>>\r"
expect eof   
.
De heb ik nu vervangen door
Windscribe Password: "
interact ++ return
send "\r"
expect eof 

Mijn username wordt nu automatisch ingevuld en mijn password moet ik zelf nog invullen.