Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to execute bash command in Kotlin

Tags:

kotlin

Sorry but I could not find the answer from googling...what is the syntax for running a bash command in kotlin? I would like to do a curl command. The documentation out there seems very limited or maybe I am bad at googling?

like image 430
Michael Avatar asked Oct 07 '17 17:10

Michael


2 Answers

As curl is not a bash-specific application, you can just start it like any other process. Assuming you are using kotlin on the JVM:

val process = ProcessBuilder("curl", "https://example.com").start()
process.inputStream.reader(Charsets.UTF_8).use {
  println(it.readText())
}
process.waitFor(10, TimeUnit.SECONDS)

Instead of using curl you might want to look into kotlin or java libraries, depending on your problem it could be easier and even faster than starting the curl process.

like image 143
Boris Avatar answered Sep 21 '22 15:09

Boris


You can do that simply with Runtime.getRuntime().exec("command line").

Since Kotlin is based on Java, you can find documentation in JavaDoc here: https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec(java.lang.String)

like image 31
Václav Hodek Avatar answered Sep 23 '22 15:09

Václav Hodek