2016-09-27 1 views
0

Ich führe einen externen Befehl von Scala aus mit! Methode, aber nicht in der Lage, Exit-Code zu fangen, unten ist die REPL o/p.Fehler beim Abfangen des Fehlercodes für externen Befehl von Scala

scala> import scala.sys.process._ 
import scala.sys.process._ 

scala> "ls -lrt CLSTM111.30.SUB#1.D160927.T030108.d.CLSLM001.cls_catg_lkup_EXT.stdout " .! 
-rw-r--r-- 1 clsdusr clsdevl 38 Sep 27 03:01 CLSTM111.30.SUB#1.D160927.T030108.d.CLSLM001.cls_catg_lkup_EXT.stdout 
res11: Int = 0 

scala> println(exitCode) 
<console>:35: error: not found: value exitCode 
       println(exitCode) 
        ^

Antwort

0

Es gibt keine exitCode in scala.sys.process definiert , aber der Rückgabewert von !. Aus Ihrem REPL Ergebnis ist es res11. Die Dokumentation für ProcessBuilder.! lautet wie folgt:

Startet den von diesem Builder dargestellten Prozess, blockiert bis zum Beenden und gibt den Exitcode zurück. Standardausgabe und -fehler werden an die Konsole gesendet.

1

Der Exit-Code ist der Rückgabewert von !. Sie können

val exitCode = "ls -lrt CLSTM111.30.SUB#1.D160927.T030108.d.CLSLM001.cls_catg_lkup_EXT.stdout ".! 

println(exitCode) 
+0

Vielen Dank, diese Lösung funktioniert –

Verwandte Themen