当前位置 : 主页 > 网络安全 > 测试自动化 >

如何自动化一些linux命令

来源:互联网 收集:自由互联 发布时间:2021-06-19
我已经做了很多 windows命令shell脚本,但我是 linux的新手.有没有什么方法可以编写脚本/自动化以下命令,以便我所要做的就是(在 Windows术语中)“运行批处理文件”来完成所有这些操作?以
我已经做了很多 windows命令shell脚本,但我是 linux的新手.有没有什么方法可以编写脚本/自动化以下命令,以便我所要做的就是(在 Windows术语中)“运行批处理文件”来完成所有这些操作?以下是我的步骤:

>启动putty,选择主机名&端口,单击打开(也喜欢脚本/自动化第1部分)
> linux shell / terminal打开
>我输入我的登录名和密码
>我输入此命令:sudo su – psoftXXX
>我再次进入我的密码并点击进入
>我看到一个小cmd-shell菜单和提示.我必须输入“1”然后按回车键
> cd /
> cd日志
> cd hr
> cd DV
> cd appserv
> rm JEN *
> ls

有什么方法可以自动化全部或部分内容?谢谢.

是.一旦你知道它,你就会发现 Linux中的脚本与Windows相比是一种乐趣.想象一下(可怕的)命令提示符和(不那么可怕)PowerShell之间的区别,然后将这个差异乘以10,这就是Linux中脚本的好坏程度.

术语是“shell脚本”,因为命令处理器(相当于Windows命令提示符)称为“shell”.只是为了让生活变得更有果味,Linux有各种各样的shell.最常见的是sh的变体,如bash和ash.然而,一些疯狂的人使用csh或tcsh或其他人,这些语法有着令人烦恼的不同.

创建脚本

要创建“shell脚本”,即批处理文件,只需在顶部创建一个带有此行的文本文件:

#!/bin/bash

(或者你的shell的名字是什么).通常,文件名可能以.sh结尾,或者根本没有特殊文件结尾.

在文件的其余行中,只列出您要运行的命令,就好像您在普通的Linux终端上键入它们一样.

然后为该文件分配“执行”权限.从命令行,您将使用chmod u x filename.sh.这意味着为当前用户添加eXexecute权限.

当你开始学习shell中可以做的所有不同的事情时,真正的乐趣就来了.例如,有这样的巧妙的技巧:

my-first-command && my-second-command   # only runs my-second-command if my-first-command succeeded

或这个:

my-background-command &   # runs my-background-command in the background, so that you can get on with other things

还有许多非常棒的Linux / UNIX程序可以很容易地将其他程序连接在一起 – 例如grep,uniq,xargs.

你的具体例子

虽然解释了这一切有多棒,但我认为这实际上并不是你需要做的.

您的示例的shell脚本部分归结为:

rm /logs/hr/DV/appserv/JEN*; ls /logs/hr/DV/appserv

我得到了您想要从Windows自动登录以运行这些命令的印象.

我相信在PuTTY中,如果它通过SSH连接,你可以给它一个命令来运行.所以这就是我要做的.

>使用PuTTY在Windows机器上生成ssh密钥. (我不记得怎么做 – 我认为有PuTTYGen或类似的).
>将结果复制到psoftXXX用户的.ssh目录中名为authorized_keys的文件中.你可以直接复制并粘贴它;这可能比做任何花哨更容易.请注意,此目录和/或文件可能不存在,在这种情况下,您需要创建它们;如果文件已经存在,那么一定要将新密钥附加到文件的末尾而不是覆盖它.
>现在尝试使用PuTTY和ssh再次连接.它应该自动以psoftXXX用户身份登录.
>最后,在PuTTY设置中,您可以指定上面给出的命令行.您可能需要像这样指定它:

/ bin / bash -c“rm / logs / hr / DV / appserv / JEN *; ls / logs / hr / DV / appserv”

请注意,我没有自动化的一个阶段,即在菜单上按1.那是因为我怀疑这个菜单是通过给你一个特殊的默认登录shell来实现的,而不是/ bin / bash而是/ something / somewhere / which / shows / a / menu.我希望如果你在PuTTY中指定一个替代命令,那么该设置将被完全忽略,而你将运行你的脚本.

你可能需要玩一下.祝好运!

网友评论