我遇到了一个障碍,我正在尝试使用 C++ 实现各种 linux shell 程序,并且我的许多命令似乎都可以工作,但是,当我尝试获取历史记录(列出所有最近执行的命令)时,我得到了一个"sh: 1: history: not found"错误 下一行是在该区域运行的所有内容,有什么问题?

 system("history"); //produces the error above ^

如果我做
$ history

从命令行就可以了……为什么在 C++ 中不行?

最佳答案

system 使用 /bin/sh 执行程序,但 history 是 bash 内置程序。

您可以查看 ~/.bash_history 的内容。 (注意(leemes) .bash_history 仅在关闭前一个 bash session 后才会更新,并且不会通过使用 system 执行命令来更新。)

关于c++ - 系统 ("history") 不工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25978876/

10-13 08:40