繁体   English   中英

Execlp 没有正确变异

[英]Execlp doesn't mutate correctly

我正在尝试改变一个程序,它一直给我错误(-1)。

execlp("history","history", NULL)

我不知道在哪里找到历史。

在某些 shell 上,包括GNU bashhistory是一个内置命令,就像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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM