2015-07-11 63 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

这听起来像是制作一个小错误,导致我的脚本不能重现我以前的会话的秘诀。 –

相关问题