想知道是否可以编写这样的 shell 脚本,如果可能的话,我可以引用任何引用/示例实现吗?谢谢。
- 第 1 步,将本地盒子上的本地文件 scp 到远程盒子 ABC,可能需要 输入密码或者我们可以将密码硬编码到脚本中吗?
- 第2步,在盒子ABC上远程执行脚本,并利用该文件 在第 1 步中上传
- 第 3 步,第 2 步的输出(位于 console/stdout) 被重定向到本地框。
我试过这个:
scp ~/Downloads/data/1.dat root@host:/root/data /root/exercise/test /root/data/1.dat
最佳答案
我知道您想要将文件复制到远程计算机,以该文件作为参数运行命令,并在本地计算机上获取输出。显然,您需要远程计算机上的 test
程序。
你的尝试就成功了一半。您可以按如下方式进行:
scp ~/Downloads/data/1.dat root@host:/root/data
ssh root@host '/root/exercise/test /root/data/1.dat'
第一个命令复制您的文件,第二个命令在远程计算机上运行该命令。根据 test
命令,您可以将一些输出文件重新获取到本地计算机:
scp root@host:/root/results/outputfile .
或者,如果命令写入标准输出,您可以通过将 >/root/results/outputfile
附加到 ssh 命令,将输出重定向到远程计算机上的文件,然后将其 scp 回本地计算机。
关于linux - Linux上远程执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35511993/