process

scala.sys.process를 통해 쉘 프로그램과 연동 가능.

import sys.process._
"ls -al" !

위 구문 실행의 결과는 표준 출력으로 제공한다.

!! : 출력이 문자열로 리턴.

val result = "ls -al .." !!

#| : 한 프로그램의 출력을 다른 프로그램으로 연결.

"ls -al .." #| "grep sec" !

#> : 출력을 파일로 리다이렉트.

"ls -al .." #> new File("output.txt") !

#>> : 기존 파일 뒤에 붙여서(append) 쓰기.

"ls -al .." #>> new File("output.txt") !

#< : 입력을 파일로부터 리다이렉트.

"grep sec" #< new File("output.txt") !

url로부터 입력을 리다이렉트.

"grep Scala" #< new URL("http://horstmann.com/index.html") !

프로세스를 다른 디렉토리나 환경변수로 실행할 필요가 있을 경우, Process 오브젝트의 apply 메소드로 ProcessBuilder 생성.

val p = Process(cmd, new File(dirName), ("LANG", "en_US"))
"echo 42" #| p !