0

Scala REPL の厄介な点の 1 つは、maven/sbt の依存関係をロードする簡単な方法がないことです。

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を実行する方法を知っている人はいますか?

4

1 に答える 1

2

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

個人的には、最も簡単な解決策はSUDO_ASKSPASS環境変数を設定することです。何かのようなもの

val sudo = "sudo"
val askPass = "/usr/bin/ssh-askpass"
val procBuilder = Process(List(sudo, "-A", ???), None, "SUDO_ASKPASS" -> askPass)
val res = procBuilder.!
于 2016-08-14T13:22:48.403 に答える