Interactief > Andere distributies

bash: het expect commando [Solved]

(1/1)

peer:
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

--- Code: ---autoexpect -f windscribeLogin.exp ./windscribeLogin.sh
--- Einde van code ---
wordt 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:

--- Code: ---Windscribe Username: "
send -- "<<username>>\r"
expect -exact "<<username>>\r
Windscribe Password: "
send -- "<<password>>\r"
expect eof   
--- Einde van code ---
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?

peer:
Ik heb het met behulp van google gevonden. Ik moet gebruik maken van 'interact'. De laatste regels waren

--- Code: ---Windscribe Password: "
send -- "<<password>>\r"
expect eof   
--- Einde van code ---
.
De heb ik nu vervangen door

--- Code: ---Windscribe Password: "
interact ++ return
send "\r"
expect eof 
--- Einde van code ---

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

Navigatie

[0] Berichtenindex

Naar de volledige versie