当前位置: 首页 > 知识库问答 >
问题:

错误: md5sum: stat'>':没有这样的文件或目录

耿招
2023-03-14

我正在尝试编写一个程序,使用Scala运行Linux命令。

我写了一段代码来运行md5sum命令的功能。

代码片段

object Test extends App {
  import sys.process._

  case class md5sum_builder private(i: Seq[String]) {
    println(i)
    protected def this() = this(Seq(""))
    def optionCheck() = new md5sum_builder(i :+ "-c")
    def files(file: String) = new md5sum_builder(i :+ file)
    def hashFile(hashfile: String) = new md5sum_builder(i :+ hashfile)
    def assignment(operator: String) = new md5sum_builder(i :+ operator)
    def build() = println(("md5sum" + i.mkString(" ")).!!)
  }

  object md5sum_builder {
    def apply() = new md5sum_builder
  }

  md5sum_builder().files("text.txt").files("text1.txt").assignment(">").hashFile("hashes.md5").build()

}

当我尝试运行命令md5sumtext.txttext1.txt

Error: md5sum: stat '>': No such file or directory

我不知道为什么。有办法让它工作吗?


共有1个答案

拓拔元徽
2023-03-14

您的界面似乎没有经过深思熟虑。请注意,file()hashFile()赋值()都做同样的事情。所以有人可以来做这样的事情...

md5sum_builder().assignment("text0.txt")
                .hashFile("text1.txt")
                .files(">")                // <--shell redirection won't work
                .assignment("hashes.md5")
                .build()

...并获得与您发布的示例相同的(非功能性)结果。

这里有一个修正,修正了这一点,并允许重定向输出。

case class md5sum_builder private(i :Seq[String], outfile :String = "/dev/null") {
  protected def this()          = this(Seq.empty[String])
  def optionCheck(file :String) = this.copy(i = i ++ Seq("-c", file))
  def file(file: String)        = this.copy(i = i :+ file)
  def hashFile(file: String)    = this.copy(outfile = file)
  def build() = println(("md5sum" +: i).#|(Seq("tee", outfile)).!!)
}

现在,这些方法几乎可以以任何顺序进行,并且仍然可以得到预期的结果。

md5sum_builder().file("text0.txt")
                .hashFile("hashes.md5")
                .file("text1.txt")
                .build()
 类似资料:
  • 问题内容: 我正在使用Ubuntu 14.04。我有以下代码: 但我不断收到以下错误: python程序和图像都在同一位置。可能是什么问题? 问题答案: 您需要安装:

  • 问题内容: 我想在我的一个golang控制器中指定一个html模板。我的目录结构是这样的 我想为请求/ new加载first.html。我已经将NewHandler用于url / new,并且当/ new请求到达并且在controller.go中时,NewHandler函数正在执行。这是我的代码 但是我遇到一个错误 请帮助我删除此错误。提前致谢 问题答案: 我已经通过提供html的绝对路径解决了这

  • 问题内容: 我正在尝试使用C扩展文件构建共享库,但首先我必须使用以下命令生成输出文件: 执行命令后,我得到以下错误消息: :致命错误:Python.h:没有此类文件或目录编译终止。 实际上我已经尝试了所有建议的解决方案,但是问题仍然存在…我也没有问题。我设法在我的机器上找到该文件……以前有人遇到过同样的问题吗?? 问题答案: 看来你尚未正确安装python dev的标头文件和静态库。使用软件包管理

  • 我在流管道中进行一些文件处理,想测试一些错误条件。我想到的第一件事是打开不存在的文件。我发现我无法处理这种情况。它看起来像节点。fs不会发出“错误”事件。有人知道怎么处理这个案子吗?我读到fs也有同样的情况。取消链接。 如果文件存在,则输出: 如果文件不存在: 类似问题:这里 人们会问:是否有可能在流之前发出错误事件。on('错误',…)是否生效? 谢谢

  • 为了解决需要对GitHub示例中的代码进行哪些特定的更改? 对的请求的控制台输出将触发上面的express.js方法,反复导致错误: 新的指定express.js是: 除了之外,GitHub示例应用程序中的所有其他内容都与您在GitHub上看到的内容相同,它只包含支持和中更改的依赖项,如上图所示。