[英]Execlp doesn't mutate correctly
我正在尝试改变一个程序,它一直给我错误(-1)。
execlp("history","history", NULL)
我不知道在哪里找到历史。
在某些 shell 上,包括GNU bash , history
是一个内置命令,就像cd
一样(并且cd
调用chdir(2) ;没有有用的
可执行文件,也不存在任何)。 所以没有这样的可执行文件。/bin/cd
您应该考虑在您的程序中使用GNU readline库。 先看 readline(3) 再看history(3) 。
如果您混淆了$PATH
中确实有一些history
可执行文件(一个奇怪的设置),请使用execvp(3) 。
或者,使用内置的history
编码您的shell function (例如在您的~/.bashrc
中定义)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.