【发布时间】:2015-07-03 02:19:12
【问题描述】:
我在 shell 上执行了以下命令
sw0:root> pwd
/root
sw0:root> echo $(history 1)
2 echo $(history 1)
sw0:root>
现在我在一个c文件中调用系统系统调用,如下所示
system (" echo \"___history1 = $(history 1)____\"");
输出:
___history1 = ____
我尝试的是使用system 系统调用从 C 中读取 shell 的最后一个历史命令。
请澄清以下疑问
为什么我无法从 c 文件中读取在 shell 中执行的最后一个历史命令?
是不是因为当我调用系统调用时,它分叉了一个新的shell?
如果是这样,我该如何实现?从其他 shell 读取 1 个 shell 的命令输出?
【问题讨论】: