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