I found an instresting undocumented (?) solution to input values from terminal to script.
It looks like this.
=== sample script ===
:local input do={:put $1;:return}
:local login [$input "Enter login"]
:local password [$input "Enter password"]
:put "Login is [$login] and password is [$password]"
=================
=== terminal outeput ===
[admin@MikroTik AP] /ppp secret> /system script run 1
Enter login
value: mike
Enter password
value: jdajshdjadh
Login is [mike] and password is [jdajshdjadh]
[admin@MikroTik AP] /ppp secret>
====================
So if you use :return without any params you get input from terminal.
No mention of this behaviour found at https://wiki.mikrotik.com/wiki/Manual:Scripting and https://wiki.mikrotik.com/wiki/Manual:S ... g-examples ...