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

问题描述 投票:0回答:2

我在终端里不是很好,而且我无法弄清楚为什么要归还它。这可能是非常明显的,所以请问,但我正在引用的可执行文件肯定是在该文件路径中,并且在研究之后我似乎无法找到答案:

/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

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

谢谢

linux file command-line terminal directory
2个回答
0
投票

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

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


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是一个包含工作目录路径的环境变量。

© www.soinside.com 2019 - 2024. All rights reserved.