2015-07-11 62 views
-3

我想登錄到服務器。然後運行一系列安裝程序和設置配置的bash命令。我希望將這些命令記錄到一個可執行的腳本中,隨後我可以在類似的服務器上運行該腳本來自動設置。我該怎麼做呢?如何將我的bash會話記錄爲可執行文件?

我熟悉script命令,但這不是我想要的,因爲它不創建可執行腳本。

+1

https://en.wikipedia.org/wiki/Shell_script – hek2mgl

+0

@ hek2mgl我知道shell腳本是什麼以及如何手寫。但是我會輸入幾千條命令,而且我不想手動編寫該shell腳本。我想要一個程序來記錄我的bash會話並自動爲我創建shell腳本。 –

+0

首先,我沒有downvote,因爲我期望這樣的事情,你的問題可能提到你知道什麼是shell腳本。關於這個話題。通常,如果您鍵入*數千*條命令,則會有錯別字和錯誤。我不會自動記錄它們。我會簡單地使用bash歷史並從那裏獲取命令。順便說一句,我不相信你是手動輸入數以千計的命令。 – hek2mgl

回答

2

雖然你應該script再看看,還有autoexpect這是expect包的一部分。它將記錄重放的交互,包括提示是/否和類似答案的命令。

+0

你能解釋一下'script'如何工作嗎?我之前使用過'autoexpect',但這對我不起作用,因爲它需要在目標系統上安裝,才能使用它。我需要輸出是一個shell腳本。 –

+0

'script'只會爲您提供完整的提示,提醒您輸入的內容。如果你使用vi或圖形對話,這不是很好,但可以幫助你將你所做的轉換成像'sed -i/somefile'/ abc/s/= x/= y /''等同的東西。我經常在編輯器中設置配置,然後將其重寫爲sed腳本。您也可以使用'diff'保存更改,並使用'patch'將它們應用到另一臺機器上。您可以在ssh訪問遠程設備之前運行'autoexpect'。 – meuh

+0

這聽起來像是製作一個小錯誤,導致我的腳本不能重現我以前的會話的祕訣。 –

相關問題