是的。一旦您了解了这一点,您就会发现与 Windows 相比,在 Linux 中编写脚本是一种乐趣。想象一下(可怕的)命令提示符和(不那么可怕的)PowerShell 之间的差异,然后将该差异乘以 10,这就是在 Linux 中编写脚本要好得多。
该术语是“shell 脚本”,因为命令处理器(相当于 Windows 命令提示符)称为“shell”。只是为了让生活更充实一点,Linux 有各种可用的 shell。最常见的是sh
诸如bash
和的变体ash
。但是,一些疯狂的人使用csh
or tcsh
or others,它们的语法令人讨厌。
创建脚本
要创建一个“shell 脚本”,即一个批处理文件,只需在顶部创建一个文本文件:
#!/bin/bash
(或者无论你的 shell 的名称是什么)。通常,文件名可能以.sh
或根本没有特殊文件结尾。
在文件的其余行中,只需列出您想要运行的命令,就好像您在普通的 Linux 终端上输入它们一样。
然后为该文件分配“执行”权限。从命令行,您将使用chmod u+x filename.sh
. 这意味着为当前用户添加执行权限。
当你开始学习你可以在 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 或类似的)。
- 将生成的公钥复制到用户目录中调用的文件
authorized_keys
中。您可以从字面上复制和粘贴它;这可能比做任何花哨的事情要容易。请注意,此目录和/或文件可能不存在,在这种情况下,您需要创建它们;如果文件已经存在,请确保将新密钥附加到文件末尾而不是覆盖它。.ssh
psoftXXX
- 现在尝试使用 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 中指定替代命令,该设置将被完全忽略,而您将运行您的脚本。
你可能需要玩一会儿。祝你好运!