读取 Kotlin/Native 中的环境变量
Read environment variable in Kotlin/Native
好的,所以我想创建一个本地应用程序来读取一些环境变量,并根据一些业务逻辑将它们的值更改为其他值。我决定用 Kotlin 来做。
我设法通过创建函数找出如何更改系统环境变量:
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")
}
但它只是改变了值。我想将它存储在 Kotlin 变量中并对其进行一些操作。
发出语句 call("SET $variable") 会将值打印到命令提示符,但我不知道如何从 Kotlin 捕获它。我想如果有一种方法可以将命令提示符的输出提取到字符串中,这样会更容易,即使 Windows 以 myvariable=myvalue 的形式输出它,而不仅仅是值。
提前致谢
下面是如何读取 Kotlin/Native 中的环境变量:
import platform.posix.*
import kotlinx.cinterop.*
fun main() {
val variable = "whatever..."
println(getenv(variable)?.toKString())
}
好的,所以我想创建一个本地应用程序来读取一些环境变量,并根据一些业务逻辑将它们的值更改为其他值。我决定用 Kotlin 来做。
我设法通过创建函数找出如何更改系统环境变量:
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")
}
但它只是改变了值。我想将它存储在 Kotlin 变量中并对其进行一些操作。
发出语句 call("SET $variable") 会将值打印到命令提示符,但我不知道如何从 Kotlin 捕获它。我想如果有一种方法可以将命令提示符的输出提取到字符串中,这样会更容易,即使 Windows 以 myvariable=myvalue 的形式输出它,而不仅仅是值。
提前致谢
下面是如何读取 Kotlin/Native 中的环境变量:
import platform.posix.*
import kotlinx.cinterop.*
fun main() {
val variable = "whatever..."
println(getenv(variable)?.toKString())
}