将未知命令插入execvp()

时间:2011-04-23 23:44:18

标签: c shell errno execvp

喜 如果我将一个未知的命令传递给execvp我在errno中收到此错误: “没有相应的文件和目录” 当我应该得到这个错误: “命令未找到”

我怎么能得到第二个错误?

2 个答案:

答案 0 :(得分:1)

因为“未找到命令”与标准错误代码不对应(请参阅例如http://linux.die.net/man/3/errno)。

答案 1 :(得分:1)

可以从execvp返回“没有找到命令”错误。最接近的是ENOENT,这意味着找不到指定的文件(或其解释器,或所需的动态库)。

如果需要,您的程序可以打印出“找不到命令”而不是strerror返回的文本。