0

Scala REPL 糟糕的一件事是没有直接的方式来加载 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 回答