喜 如果我将一个未知的命令传递给execvp我在errno中收到此错误: “没有相应的文件和目录” 当我应该得到这个错误: “命令未找到”
我怎么能得到第二个错误?
答案 0 :(得分:1)
因为“未找到命令”与标准错误代码不对应(请参阅例如http://linux.die.net/man/3/errno)。
答案 1 :(得分:1)
可以从execvp返回“没有找到命令”错误。最接近的是ENOENT,这意味着找不到指定的文件(或其解释器,或所需的动态库)。
如果需要,您的程序可以打印出“找不到命令”而不是strerror返回的文本。