作为系统管理员,我试图模拟用户在虚拟机上进行测试日志文件监控。是否可以使用pexpect生成bash shell命令,该命令将显示在bash历史记录中?
模拟用户将自动执行各种任务,这些任务应该显示在bash历史记录中,“ls”,“cd”,“touch”等等。它们显示在bash历史中是很重要的,因为bash历史记录是登录。
我曾想过直接写入bash历史,但宁愿更准确地模拟用户的行为。原因是bash历史不是唯一正在监视的日志文件,如果同一事件的日志保持同步,则会更好。
详细 我在CentOS Linux的工作释放1611年7月3日 的Python 2.7.5安装
我已经尝试使用pexpect.run( 'LS')或pexpect.spawn( 'LS') ,'ls'不会在任何命令中显示在bash历史记录中。
ephemient在他的回答中提到了它,但值得强调的是:'bash'历史不是审计工具;这对shell用户来说重复了过去执行的类似命令的便利。历史记录也是*每个会话*,而'expect.spawn'启动一个新的shell。该命令被添加到该shell的历史记录中,但当shell退出时该历史消失。 – chepner