Mat*_*ias 2 environment-variables kotlin 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")
}
Run Code Online (Sandbox Code Playgroud)
但它只会改变值。我想将它存储在 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())
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1511 次 |
| 最近记录: |