2016-09-13 13 views
0

scalaベースのスクリプトからunixコマンドを実行するのがベストプラクティスでは不明です。スカラスクリプトからunixコマンドを実行する

典型的なScalaのスクリプトはここにある

#!/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"???? 

私はポストの数を確認したが何も明確にScalaのスクリプトからUNIXコマンドを実行し、いくつかの変換を行うことができ、作業スクリプトの概要を説明していません。

答えて

1

ここには簡単なスクリプトが用意されています。などのプロセス出力、プロセスの終了ステータス、パイプライン、

+0

感謝万人 – urug

1

輸入scala.sys.process._とLinuxを実行するために!!!を使用

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

コマンドあなたにもscala scriptでこれを行うことができます

!コマンドのリターンの終了コード

を実行した後!!実行後にコマンドの出力を返します

"ls -la" !!の出力を解析し、現在のdirのファイルを取得します。

+0

おかげで百万の – urug

0

をキャプチャする方法の詳細について標準ライブラリの

#!/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あなたはScalaのスクリプトを記述するつもりなら、私は強くをチェックアウトすることをお勧めいたしますアンモナイト

ショートイントロビデオ(10分) - https://www.youtube.com/watch?v=wk2-ZsQU358

と全ドキュメント - http://www.lihaoyi.com/Ammonite/