Middels een MDM-pakket (Jamf Pro) wil ik op macOS een script draaien dat een commando uitvoert. Bij het uitvoeren van dit commando wordt een gebruikersnaam en wachtwoord gevraagd. Daarom probeer ik het te automatiseren met behulp van ‘expect’.
Onderstaand script werkt naar behoren.
Nu zou ik de gebruikersnaam en het wachtwoord met een variabele (parameter) willen instellen. Jamf Pro kent daarvoor veld 4 tot en met 11, en ik ben gewend deze met $4 tot en met $11 in het script op te nemen. In combinatie met expect lukt me dit nog niet. Ik krijg de foutmelding ‘no such variable while executing’, wanneer ik $4 en $5 gebruik.
Door met ‘-d’ diagnostische informatie af te vangen, heb ik kunnen herleiden dat de variabelen met andere kenmerken worden doorgegeven. Ik lijk argv[6] en argv[7] te moeten gebruiken, deze bevatten namelijk de waardes die ik als parameter heb ingesteld.
Daarbij loop ik vast. In plaats van allerlei voorbeelden te geven, stel ik de vraag liever open; kan iemand mij helpen dit op de juiste manier in te stellen? Dank alvast!
Onderstaand script werkt naar behoren.
code:
1
2
3
4
5
6
7
8
9
| #!/usr/bin/expect set timeout 5 spawn profiles install -type bootstraptoken expect "user" send -- "gebruiker\r" expect "password" send -- "wachtwoord\r" expect eof |
Nu zou ik de gebruikersnaam en het wachtwoord met een variabele (parameter) willen instellen. Jamf Pro kent daarvoor veld 4 tot en met 11, en ik ben gewend deze met $4 tot en met $11 in het script op te nemen. In combinatie met expect lukt me dit nog niet. Ik krijg de foutmelding ‘no such variable while executing’, wanneer ik $4 en $5 gebruik.
Door met ‘-d’ diagnostische informatie af te vangen, heb ik kunnen herleiden dat de variabelen met andere kenmerken worden doorgegeven. Ik lijk argv[6] en argv[7] te moeten gebruiken, deze bevatten namelijk de waardes die ik als parameter heb ingesteld.
Daarbij loop ik vast. In plaats van allerlei voorbeelden te geven, stel ik de vraag liever open; kan iemand mij helpen dit op de juiste manier in te stellen? Dank alvast!