我对ssh很新,所以我需要一些帮助来编写一些脚本。我的想法是我将文件分布在远程服务器上的不同文件夹中。我想将某些文件夹复制到同一服务器上的另一个新文件夹中。假设,我知道要复制的文件夹的所有名称,我可以将它们列在文本文件中。如何编写一个脚本,将所有这些文件夹自动转移到我需要的地方?
此外,假设每个文件夹中有一个文件使用个人密码加密。所有密码都是我所知道的。如何编写脚本来自动解密它们?
如果您没有直接答案,可以给我一个关于编写ssh脚本的教程的链接吗?
非常感谢
答案 0 :(得分:2)
我觉得你可能有点困惑。
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终端会话中实际编辑此脚本。
答案 1 :(得分:1)
假设通过SSH表示通过SSH访问bash。
假设文件列表是这样的:
/path/tofile1
/path/to/file/2
你可以这样做:
$ cp `cat listOfInputFiles | xargs` destinationDirectory