c++ - 系统 ("history") 不工作

标签 c++ linux

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

相关文章:

c++ - 为什么std::cout无法为我的int8_t数字输出正确的值?

c++ - 使用委托(delegate)从后台任务更新 UI

c++ - 有和没有结构的指针声明?

linux - Filebeat 和 Logstash 有时会读取旧文件

linux - hexdump 并将二进制文件读取为文本

linux - 如何在 bash 上按文件类型将文件分类到文件夹中(使用 'file' 命令)?

c++ - 传递 const &object 与 const object 的区别

C++11 Cereal 库无法序列化我的类

linux - 来自 Linux 的 CPU 使用情况,然后在算术表达式中使用它

php - 提高 mysql 速度?