终端Linux - 引用可执行文件 - 没有这样的文件或目录

时间:2018-01-03 01:29:06

标签: linux file command-line terminal directory

我在终端里表现不佳,而且我无法弄清楚为什么要归还它。它可能非常明显,所以对于提问感到抱歉,但我引用的可执行文件肯定是在该文件路径中,经过研究后我似乎无法找到答案:

/home/user/protoc-3.5.1-linux-x86_64/bin/protoc object_detection/protos /*.proto --python_out=.

object_detection/protos/*.proto: No such file or directory

(因为我需要在特定的目录中执行此操作,所以无法进入它)

谢谢

2 个答案:

答案 0 :(得分:0)

似乎bash正在寻找一个名为" [star]"的特定文件。而不是将其用作通配符。

我认为您可能需要使用管道来获得所需的结果。

答案 1 :(得分:0)

从命令行看,protoc是可执行文件,位于/home/user/protoc-3.5.1-linux-x86_64/bin/protoc。并且您将两个参数分隔为空格:object_detection/protos/*.proto。如果文件路径中有空格,则需要将它们转义或双引号:

protoc object_detection/protos\ /*.protoprotoc "object_detection/protos /*.proto"

奇怪的是错误消息表示不同:

object_detection/protos/*.proto: No such file or directory

或者protoc可执行文件可能需要文件参数的绝对(完整)路径。如果从当前工作目录中命令ls object_detection/protos/*.proto显示结果,那么您可以尝试像这样运行命令以使用绝对文件路径:

/home/user/protoc-3.5.1-linux-x86_64/bin/protoc $PWD/object_detection/protos/*.proto

$PWD是一个包含工作目录路径的环境变量。