gpt4 book ai didi

linux - 如何自动化一些linux命令

转载 作者:IT王子 更新时间:2023-10-29 01:01:26 25 4
gpt4 key购买 nike

我已经完成了很多 windows 命令 shell 脚本编写,但我是 linux 的新手。有什么方法可以编写脚本/自动执行以下命令,这样我所要做的就是(用 Windows 术语)“运行批处理文件”来完成所有这些操作吗?以下是我的步骤,按顺序:

  • 启动 putty,选择主机名和端口,单击“打开”(也希望编写脚本/自动化这第一部分)
  • linux shell/终端打开
  • 我输入我的登录名和密码
  • 我输入这个命令:sudo su - psoftXXX
  • 我再次输入我的密码并按回车键
  • 我看到了一个小的 cmd-shell 菜单和一个提示。我必须输入“1”并按回车键
  • 光盘/
  • 光盘日志
  • 光盘小时
  • CD DVD
  • cd appserv
  • 任珍*

有什么方法可以使全部或部分自动化?谢谢。

最佳答案

是的。了解之后,您会发现与 Windows 相比,在 Linux 中编写脚本是一种乐趣。想象一下(可怕的)命令提示符和(不那么可怕的)PowerShell 之间的区别,然后将该差异乘以 10,这就是在 Linux 中编写脚本要好得多。

术语是“shell 脚本”,因为命令处理器(相当于 Windows 命令提示符)被称为“shell”。为了让生活更丰富一点,Linux 有各种可用的 shell。最常见的是 sh 的变体,例如 bashash。不过,一些疯狂的人使用 cshtcsh 或其他语法不同的恼人的东西。

创建脚本

要创建“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 小程序,可以很容易地将其他程序连接在一起 - 例如 grepuniqxargs.

你的具体例子

尽管解释了这一切的好处,但我认为这实际上并不是您需要做的。

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

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

我的印象是您想从 Windows 自动登录以运行这些命令。

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

  1. 使用 PuTTY 在 Windows 机器上生成 ssh key 。 (我不记得如何执行此操作 - 我认为有 PuTTYGen 或类似软件)。
  2. 将生成的 public key 复制到 psoftXXX.ssh 目录中名为 authorized_keys 的文件中用户。您可以从字面上复制并粘贴它;这可能比做任何花哨的事情都容易。请注意,此目录和/或文件可能不存在,在这种情况下,您需要创建它们;如果文件已经存在,那么一定要将新 key 附加到文件的末尾,而不是覆盖它。
  3. 现在尝试使用 PuTTY 和 ssh 再次连接。它应该自动以 psoftXXX 用户身份登录。
  4. 最后,您可以在 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 中指定了一个替代命令,该设置将被完全忽略,而是让您的脚本运行。

您可能需要尝试一下。祝你好运!

关于linux - 如何自动化一些linux命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14882292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com