【问题标题】:Need help with ssh script需要 ssh 脚本方面的帮助
【发布时间】:2010-09-01 06:40:34
【问题描述】:

我对 ssh 很陌生,所以我需要一些帮助来编写一些脚本。这个想法是我将文件分布在远程服务器上的不同文件夹中。我想将某些文件夹复制到同一服务器上的另一个新文件夹中。假设,我知道我想要复制的所有文件夹的名称,我可以将它们列在一个文本文件中。如何编写一个脚本,将所有这些文件夹自动传输到我需要的位置?

另外,假设每个文件夹中都有一个使用单独密码加密的文件。我知道所有密码。如何编写脚本自动解密?

如果你没有直接的答案,你能给我一个关于编写 ssh 脚本的教程的链接吗?

非常感谢

【问题讨论】:

    标签: ssh terminal


    【解决方案1】:

    我想你可能有点困惑。

    SSH 是您用来访问远程服务器的工具。

    一旦您连接到该远程服务器,您看到的提示和命令行界面通常称为“sh”或“bash”,并且是一个 shell。

    您要查找的是shell scripting tutorial。你可以用谷歌搜索其他人,但那个看起来很合理。

    最简单的做法是将文件列表转换为脚本。它可能看起来像这样:

    #!/bin/sh
    for file in a, b, c, d; do
        cp $file firstFolderName
    done
    for file in e, f, g, h; do
        cp -v $file secondFolderName
    done
    decrypt secondFolderName/c "myPassword"
    

    显然,解密命令取决于您使用的加密工具。

    您可以将其保存到名为myscript.sh 的文件中,然后在命令行中使用sh myscript.sh 执行它。您可能需要了解 nano、vi 或 emacs 或其他编辑器,才能在 ssh 终端会话中实际编辑此脚本。

    【讨论】:

      【解决方案2】:

      假设 SSH 是指通过 SSH 访问的 bash。

      假设文件列表是这样的:

      /path/tofile1
      /path/to/file/2
      

      你可以这样做:

      $ cp `cat listOfInputFiles | xargs` destinationDirectory
      

      【讨论】:

      • 太好了,非常感谢你们的解释。特别感谢 Easel 对 shell 的解释。是的,我对这个词感到困惑。
      猜你喜欢
      • 1970-01-01
      • 2013-12-26
      • 2018-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多