Bien, entonces quiero crear una aplicación nativa para leer algunas variables de entorno y, en función de alguna lógica comercial, cambiar el valor de ellas a otra cosa. Decidí hacerlo en Kotlin.
Logré averiguar cómo cambiar la variable de entorno del sistema, creando las funciones:
fun call(arg: String) = platform.posix.system(command) fun setEnvironmentVariable(variable: String, value: String) { println("Changing value of $variable to $value") call("SETX $variable $value") }Pero solo cambia el valor. Me gustaría almacenarlo en una variable de Kotlin y hacerle algunas manipulaciones.
Al emitir la llamada de declaración ("SET $variable"), se imprime el valor en el símbolo del sistema, pero no sé cómo capturarlo desde Kotlin. Supongo que si hubiera una manera de extraer el resultado del símbolo del sistema a una Cadena que lo haría más fácil, aunque Windows lo genera en el formulario myvariable=myvalue en lugar de solo el valor.
Gracias por adelantado
Aquí se explica cómo leer una variable de entorno en Kotlin/Native:
import platform.posix.* import kotlinx.cinterop.* fun main() { val variable = "whatever..." println(getenv(variable)?.toKString()) }