C-Linux-将命令“history”传递给Linux shell的任何方法?

时间:2013-08-10 12:42:19

标签: c linux shell

我正在编写一个在Linux系统中运行的C程序。 该程序将一些Linux命令传递给shell并使用txt文件接收结果。

system("last >> last.txt");
system("ls -s >>ls.txt");

但我失败了“历史”,因为有人告诉我这不是命令,而是建筑物。

那么有什么方法可以像其他人那样传递“历史”吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

您也可以使用shell实际调用内置命令:

system("bash -e \"history >> history.txt\"");

"bash"更改为首选shell。

答案 1 :(得分:1)

“history”相当于“cat~ / .bash_history”,所以另一种方法是使用:

system("cat ~/.bash_history");

答案 2 :(得分:0)

根据使用的shell,您可以查看历史文件。

例如:〜/ .bash_history或〜/ .zsh_history。