SSH 是 Linux 下进行远程连接的基本工具,不光可以登录,也可以远程操作。
一、执行简单的命令:
ssh root@127.0.0.1 "df -h"
一次执行多条命令,使用分号把不同的命令隔起来就 OK 了
ssh root@127.0.0.1 "df -h;pwd"
添加 -t 参数后,ssh 会保持登录状态,直到你退出需要交互的命令。
ssh -t root@127.0.0.1 "df -h"

二、保存远程执行命令结果:
赋值的方式:result=`ssh root@127.0.0.1 "df -h"`
追加到文件:ssh root@127.0.0.1 "df -h" >> ./log

三、执行本地的脚本
我们在本地创建一个脚本文件 test.sh:
然后运行下面的命令:
ssh root@127.0.0.1 < test.sh
通过重定向 stdin,本地的脚本 test.sh 在远程服务器上被执行。

该bash -s 命令的意思是“在新的 bash 会话中执行以下命令”。该-s 标志使其从标准输入读取,该< test.sh 位将本地脚本文件读入标准输入。该文件完全在本地读取,并且全部发送到远程服务器而无需上传任何内容。这确实需要您将所有命令放入一个单独的脚本文件中。

接下来我们期望能为脚本 test.sh 传递一个参数:
然后尝试执行下面的命令:
ssh root@127.0.0.1 < test.sh helloworld
ssh root@127.0.0.1 < "test.sh helloworld"
显示了执行的结果:方法都无法为脚本传递参数。
要想在这种情况下(远程执行本地的脚本)执行带有参数的脚本,需要为 bash 指定 -s 参数:
ssh root@127.0.0.1 'bash -s' < test.sh helloworld

在脚本中运行许多远程命令

如果您想在另一台服务器上运行 shell 脚本的一部分,而不是全部,您可以在脚本中包含如下嵌套块:

ssh user@remotehost 'bash -s' <<'ENDSSH'
  # The following commands run on the remote host
  echo "test"
  cd /home/
  pwd
ENDSSH

这是有效的,因为bash -s 期待任何类型的标准输入。该<<‘ENDSSH’ 指令创建了一个“here-document”结构,基本上将它和结尾“ENDSSH”之间的所有字符传递给标准输入,从而通过 SSH 传递给远程主机。

这样做意味着您可以将所有内容保存在一个脚本文件中,而不是创建一个新的脚本文件以在远程运行。

四、执行远程服务器上的脚本
除了执行本地的脚本,还有一种情况是脚本文件存放在远程服务器上,而我们需要远程的执行它!
此时在远程服务器中有一个脚本 test.sh。文件的内容如下:
执行下面的命令:
ssh root@127.0.0.1 "/home/test.sh"
注意,此时需要指定脚本的绝对路径!
下面我们也尝试为脚本传递参数:
然后尝试执行下面的命令:
ssh root@127.0.0.1 /home/test.sh helloworld

Linux之SSH远程执行多条命令相关推荐

  1. linux远ssh sed,ssh远程执行sed -i命令,替换的内容中含有双引号的问题

    ssh远程执行sed -i命令,替换的内容中含有双引号的问题.在ssh 中执行sed -i 来替换匹配的字符串,当替换的内容中包含双引号"时,需要在转义的同时,加上单引号'"'. ...

  2. 【linux】ssh 远程执行命令

    1.概述 转载并且补充:ssh 远程执行命令 SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操 ...

  3. Linux之SSH远程执行命令

    注: 部分概念介绍来源于网络 SSH 是 Linux 下进行远程连接的基本工具,不光可以登录,也可以远程操作. 一.执行简单的命令: ssh root@127.0.0.1 "df -h&qu ...

  4. 【Linux】SSH远程执行命令

    注: 部分概念介绍来源于网络 SSH 是 Linux 下进行远程连接的基本工具,不光可以登录,也可以远程操作. 一.执行简单的命令: ssh root@127.0.0.1 "df -h&qu ...

  5. ssh远程执行命令 linux,【Linux】SSH 远程执行命令

    有时侯,利用 ssh 在本地执行远程机器的命令可以便捷地处理某些重复工作.我们希望做到: 免手工输入密码 支持执行多个命令,执行 shell 脚本 支持执行 sudo 的命令 免手工输入密码 我们可以 ...

  6. 【linux】ssh 远程执行命令自动输入密码方式

    ssh 远程执行命令自动输入密码方式 场景: 由于多台机必须要登陆执行命令,需要使用密钥一台台登录,所以每次登陆机器的时候都需要手动输入域账号密码.密码太长且复杂,手动输入容易输错,故使用脚本来做这个 ...

  7. ssh远程执行多个命令

    shell远程执行: 经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了.一下介绍两种shell命令远程执行的方法. 前提条件: ...

  8. (shell脚本编程)linux如何利用脚本执行多条命令以及linux如何执行定时任务

    文章目录 shell脚本编程 条件语句 脚本执行多条命令 执行定时任务 本文着重于提高我们的生产力,所以将这几个作为了一个专题. shell脚本编程 脚本中不同语句用分号隔开,和c语言一样. for, ...

  9. Linux Shell语言并发执行多条命令

    shell语言的并发 Default模式下,shell命令是阻塞执行的,可以通过其后添加&让这条命令异步执行,如: sleep 10 & 执行这条命令后,并不会阻塞10秒,而是立即返回 ...

最新文章

  1. c语言字符串前加l,【C】 30_C语言中的字符串
  2. 汽车电池包-云100
  3. 介绍一种很棒的wince 如何替换系统声音的方法
  4. optee中的panic函数实现
  5. 洛谷P2866 [USACO06NOV]糟糕的一天Bad Hair Day(单调栈)
  6. Git帮助文档阅读笔记----第二章
  7. 利用 Sql 实现数据透视表功能
  8. Linux命令之 -- export 设置/显示系统环境变量
  9. 北理计算机网络实验汇编,北理计算机与网络实验(II)(汇编语言实验4).docx
  10. MongoDB基本应用操作整理
  11. 2020江苏计算机二级考试官网,2020年秋季江苏省计算机等级考试报名通知
  12. ubuntu火狐证书问题
  13. Mac/Linux使用fcrackzip
  14. Ajax异步请求PHP服务器,无阻塞响应的解决方案
  15. Visio中如何绘制斜线箭头
  16. 公钥,私钥,对称密钥
  17. 阿里云的对象存储服务,oss 简介
  18. BZOJ 3505: [Cqoi2014]数三角形 数学
  19. 参考TLC5615基于verilog HDL实现SPI时序
  20. 修正牛顿法及其matlab实现

热门文章

  1. Mtlab中的小括号()、中括号[]、大括号{}的使用及区别
  2. @Pattern进行正则校验
  3. AEO认证辅导,AEO海关认证对企业申报规范的要求
  4. 摄像头感应距离不到3米,这样的PSVR你会买吗?
  5. 惊!Python居然可以读故事了
  6. ShaderForge-火焰溶解
  7. 只三两句,来聊聊呗~
  8. 闪电修:华为终超越苹果,你还买iPhone吗?
  9. 鸿蒙之境大司命,神都夜行录鸿蒙之境怎么打 神都夜行录鸿蒙之境通关攻略解析...
  10. laravel 项目启动方式