Bash:“ file <FILE> FILE.extension&”是什么意思?

时间:2018-11-20 07:04:41

标签: bash command

我正在运行AutoPhrase,并且在运行auto_phrase.sh shell脚本之后,出现以下错误

Error

回溯到source 后,我发现这行 (line 32) 导致上述错误。

line

我所知道的是它正在做类似的事情:

  

文件 FILE.extension

但是,我无法理解此行中发生的事情。

有人可以向我解释吗?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

这里的问题似乎是./bin/tree-tagger不存在。请注意,./bin/bin不同。

话虽这么说,您对file < FILE > FILE.extension所做的问题的答案无关紧要,但是这些都是bash中的重定向。 FILE通过管道<进入$STDIN的{​​{1}}中,输出file定向到文件>

通过安装FILE.extension或适当地重定向其路径来解决错误,找到它。

答案 1 :(得分:0)

对于标题中的实际问题,该命令的意思是

  • ./cmd/tree-tagger-english运行此命令...
  • < ...具有来自...的标准输入
  • $f ...(incorrectly unquoted)变量,应包含文件名...
  • > ...,标准输出重定向到...
  • $f.tagged ...由$f的值(仍然未正确引用)命名的文件,并在末尾附加了字符串.tagged ...
  • & ...作为后台作业。

显然./cmd/tree-tagger-english会尝试多次执行一条不存在的命令。

可能指令告诉您在与实际运行目录不同的目录中运行该事物;但这显然只是一种推测。另一个相当普遍的情况是,安装过程中某些操作失败,但是您没有注意到(因此,应该在这些位置中存在的某些文件实际上并不存在……磁盘已满?权限是否错误?)

该代码包含引用错误的事实表明,该代码也很可能只是错误的。