linux - Linux上远程执行脚本

标签 linux shell

想知道是否可以编写这样的 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/

相关文章:

bash - 将 stdout 的 COPY 重定向到 bash 脚本本身的日志文件

linux - readlink -f 带空格

linux - 为什么当后台进程以状态 1 退出时,后台进程会强制父进程退出?

linux - Linux内核是否知道何时通过shell调用 "useradd"命令添加用户?

c - bluez 适配器 api StartDiscovery 超时

linux - 引用其他 shell 文件的 shell 文件以及调用它们的最佳方式

linux - 在 expect 脚本中运行 shell 命令作为对生成操作的 react

linux - 如何格式化 rsync -exclude-from 文件,使其排除文件/目录,但包含同一路径中的其他文件/目录

linux - Linux Bash shell 脚本中的 IO 重定向不重新创建移动/删除的文件?

shell - 在 Emacs 中分析 shell 命令