2016-08-14 8 views
-1

ScalaのREPLについて吸うことの一つは、負荷のmaven/SBTの依存関係のないまっすぐ進む方法がないことである。アンモナイトシェル」でsudoを使用する方法

私はあるload.ivyのような便利なものを持っているアンモナイト殻を見つけました私はsudoを実行する方法を見つけられませんでした。たとえば、ディレクトリ内のファイルをループしていて、私に許可がない場合などです。コマンドが失敗したフォルダ

ls.rec! cwd | (x => x.size -> x.last) sortBy (-_._1) take 3 

エラー

java.nio.file.AccessDeniedException: /Users/foo/Library/Saved Application State/com.bitrock.appinstaller.savedState 
    sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) 
    sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) 
    sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) 
    sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:407) 
    java.nio.file.Files.newDirectoryStream(Files.java:457) 

誰もがアンモナイトシェルでsudoを実行する方法を知っていますか?

+1

"アンモナイトシェルのsudoを使う方法"のようにするべきではないですか? –

+0

タイトルを編集しました。ありがとう! –

答えて

1

JVMプロセスからsudoのためのパスワードを提供するために、いくつかの方法があり呼び出します:

個人的に、どのようなI最も直接的な解決策が見つけたのはを設定することです環境変数。何かのように

val sudo = "sudo" 
val askPass = "/usr/bin/ssh-askpass" 
val procBuilder = Process(List(sudo, "-A", ???), None, "SUDO_ASKPASS" -> askPass) 
val res = procBuilder.!