我在终端里不是很好,而且我无法弄清楚为什么要归还它。这可能是非常明显的,所以请问,但我正在引用的可执行文件肯定是在该文件路径中,并且在研究之后我似乎无法找到答案:
/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
(我无法进入它,因为我需要在特定目录中执行此操作)
谢谢
似乎bash正在寻找一个名为“[star]”的特定文件,而不是将其用作通配符。
我想您可能需要使用管道来获得所需的结果。
从命令行看,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
是一个包含工作目录路径的环境变量。