作爲系統管理員,我試圖模擬用戶在虛擬機上進行測試日誌文件監控。是否可以使用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