我遇到了一个障碍,我正在尝试使用 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/