我在终端里表现不佳,而且我无法弄清楚为什么要归还它。它可能非常明显,所以对于提问感到抱歉,但我引用的可执行文件肯定是在该文件路径中,经过研究后我似乎无法找到答案:
/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
(因为我需要在特定的目录中执行此操作,所以无法进入它)
谢谢
答案 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\ /*.proto
或
protoc "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
是一个包含工作目录路径的环境变量。