通过 SSH 运行命令的问题在于,通常您必须自己键入它们或上传脚本文件。但是,通过一些 bash 知识,您可以通过 SSH 传递整个脚本,而无需.sh 在远程计算机上保存该文件。

解决方案:通过标准输入传递脚本

SSH 命令有一种模式,您可以在其中在远程服务器上运行任何单个命令。为了运行多个命令,您必须使用以下技巧:

ssh user@remotehost 'bash -s' < script.sh

该bash -s 命令的意思是“在新的 bash 会话中执行以下命令”。该-s 标志使其从标准输入读取,该< script.sh 位将本地脚本文件读入标准输入。

该文件完全在本地读取,并且全部发送到远程服务器而无需上传任何内容。这确实需要您将所有命令放入一个单独的脚本文件中。

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

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

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

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

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

如何在远程 SSH 服务器上运行本地 Shell 脚本相关推荐

  1. 在服务器上运行本地的项目 (部署亲测有效)转载请注明出处

    1)内容都是一样的就是文件名不同而已.底层是C语言的不过这第一步只针对现在使用的项目部署所需要的文件.后面的步骤就适合大部分项目了. libSDF_fabu.so, libSDF_zhuce.so, ...

  2. ssh登录极路由后台_使用SSH来远程使用服务器上的可视化软件

    Linux的SSH命令提供了相当强大的远程访问功能.用户可以使用SSH命令快速的访问其他Linux机器,比如计算机集群系统.今天我们就来了解一下SSH,以及如何使用SSH来远程使用服务器上的可视化软件 ...

  3. 将本地Pycharm项目放到远程Ubuntu服务器上跑

    参考https://blog.csdn.net/Ding_xiaofei/article/details/88643947 1. 必备条件 专业版pycharm(社区版没有deployment功能), ...

  4. 使用宝塔搭建环境,以及把自己本地的Web项目通过宝塔发布到远程云服务器上

    文章目录 使用宝塔搭建环境,以及把自己本地的Web项目通过宝塔发布到远程云服务器上 XSheel连接到远程云服务器之后使用宝塔搭建环境 使用宝塔搭建服务器的环境 什么是搭建服务器环境 1.安装宝塔 2 ...

  5. python怎么输入代码-教你如何将自己的脚本代码放到服务器上运行

    原标题:教你如何将自己的脚本代码放到服务器上运行 本文授权转自 | 日常学Python 上次弄了个机器人,反响挺不错的,我也挺满意的,因为这个我也初步了解了服务器这个东西,懂得了如何将自己的脚本代码放 ...

  6. 教你如何将自己的脚本代码放到服务器上运行

    上次弄了个机器人,反响挺不错的,我也挺满意的,因为这个我也初步了解了服务器这个东西,懂得了如何将自己的脚本代码放到服务器上运行了,妈妈再也不怕我每天都得开着电脑才能运行脚本了,不过说实话,这个服务器真 ...

  7. centos把文件传到服务器,如何将文件传到远程centos服务器上

    如何将文件传到远程centos服务器上 内容精选 换一换 本章节介绍如何将下载的证书安装到IIS服务器上.安装好证书后,您的Web服务器将能支持SSL通信,从而保证您Web服务器的通信安全.如果证书安 ...

  8. 教你如何将自己的脚本代码放到服务器上运行 1

    1. 购买服务器 如果你是学生的话,想折腾的可以去阿里云那里购买,因为有学生机优惠,只需要9.9一个月,但是只能购买一次,在下一次购买需要做任务才可以继续享用学生机优惠.如果你是土豪的话,可以直接忽略 ...

  9. Pssh -- 使用单个终端在多个远程Linux服务器上执行命令

    OpenSSH毫无疑问是可用于Linux的使用最广泛和强大工具之一,它允许你通过一个shell安全地连接到远程Linux系统,并且允许你与远程系统之间来回传输文件. 但OpenSSH的最大缺点是你不同 ...

最新文章

  1. ai驱动数据安全治理_AI驱动的Web数据收集解决方案的新起点
  2. c语言编程被当作病毒,为什么这个微不足道的C程序被检测为病毒?
  3. HTML+CSS+JS实现 ❤️3D万花筒图片相册展示特效❤️
  4. mysql ddl log 源码_MySQL中ddl_log.log初步认识
  5. Spring源码之bean的加载(一)
  6. android 万能播放器
  7. Eclipse下找不到“新建Web项目”
  8. Python Pyecharts模块Map绘制中国地图自定义省份名称
  9. python地图可视化前端页面展示_利用pyecharts实现地图可视化的例子
  10. fedora linux搜狗输入法,GitHub - Hello-Linux/fedora-Sougou-Pinyin: fedora 搜狗拼音,安装超简单,各种精美皮肤!...
  11. matlab数学建模-非线性规划(无约束规划、有约束规划)
  12. Kubernetes 安全容器技术 kata gvisor
  13. 第四周day19-三剑客之awk
  14. android 全屏广告,手机端全屏广告展示问题
  15. Wireshark网络安全之传输层安全-UDP泛洪(UDP Flood)
  16. Hadoop3.2.1 【 YARN 】源码分析 : ContainerManager浅析
  17. Denavit-Hartenberg Matrix (D-H矩阵)
  18. 如何获取网页真实地址
  19. ORA-01210: data file header is media corrupt
  20. csbte路点机器人_《cs1.6》awp地图

热门文章

  1. 贝壳将以介绍方式在港交所双重主要上市,预计5月11日挂牌
  2. swift3.0 基础知识点
  3. 新的刷脸支付方式掘起手机支付将会終结
  4. 集成网易云信实现自定义消息(类似淘宝聊天发送商品信息)
  5. 电脑屏幕录制怎么弄,简单好用的3种电脑录屏方法
  6. 使用Python对GTA学习研究
  7. 内网渗透之Linux反弹shell(一)
  8. MAT打开过大的dump:Java heap space OutOfMemory
  9. ES6学习笔记(字符串扩展)
  10. C++中数组和指针的关系(区别)详解