necesito para ejecutar un comando shell desde un script Scala y utilizo el siguiente fragmento de eso:Terminal comando cd no funciona desde el guión Scala
import scala.sys.process.{Process, ProcessIO}
val command = "ls /tmp"
val process = Process(command)
val processIO = new ProcessIO(_ =>(),
stdout => scala.io.Source.fromInputStream(stdout).getLines.foreach(println),
_ =>())
process.run(processIO)
El código funciona bien. Me pregunto por qué me sale
java.io.IOException: Cannot run program "cd": error=2, No such file or directory
tan pronto como puedo cambiar el comando para cd /tmp && ls
que es equivalente a la OMI ls /tmp
?
usando 'type cd' y' type ls' en el shell también son demostrativos en su caparazón. Debería informar que cd no es un archivo ejecutable, sino un shell incorporado. – stew
Básicamente, quería leer un resultado de un determinado comando que debe ejecutarse desde un directorio conocido como runtime, como: 'cd/somedir && find. -mindepth 5 -type d'. Hay una serie de formas de lograrlo sin 'cd', pero con el historial de Perl solo era curioso por qué esto era imposible de hacer con JVM. ¡Gracias por la respuesta! – nab