2016-09-13 7 views
0

스칼라 기반 스크립트에서 유닉스 명령을 실행하는 것이 가장 좋지 않습니다.스칼라 스크립트에서 unix 명령 실행

일반적인 스칼라 스크립트는 여기

#!/bin/sh 
exec scala "$0" "$0" "[email protected]" 
!# 

println("args length is ", args.length) 

### want to list all files in the underlying folder 
val resultSet = "ls -la"???? 

나는 게시물의 수를 확인하지만 아무것도 명확 스칼라 스크립트에서 유닉스 명령을 실행하고 일부 변환을 수행 할 수있는 작업 스크립트를 설명합니다.

답변

1

다음은 간단한 시작 스크립트입니다.

#!/usr/bin/env scala 
import scala.sys.process._ 

// args is auto-populated 
println("arg len = " + args.length) 

// get listing of current files 
val files: Array[String] = "ls -a".!!.split("\n") 
println("5th fiile is " + files(4)) 

System.exit(0) 

연구 등의 프로세스 출력, 프로세스 종료 상태, 파이프 라인을 캡처에 대한 자세한 내용은 표준 라이브러리의 process package

+0

감사 만 – urug

1

수입 scala.sys.process._ 및 리눅스가

scala> import scala.sys.process._ 
scala> "ls -la" ! 
scala> "ls -la" !! 

당신은

실행 한 후 명령

! 반환 종료 코드

뿐만 아니라 scala script에서이 작업을 수행 할 수 있습니다 명령을 실행하기 위해 !!! 사용 !!은 실행 후 명령 출력을 반환합니다.

"ls -la" !!의 출력을 구문 분석하고 현재 디렉토리에서 파일을 가져옵니다.

+0

감사 만 – urug