【转】使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件

摘要:
您需要使用shell语言来执行远程连接和部署,但大多数shell和服务器交互都使用expect解释器,这是我之前写的关于expect的文章。问题是Jenkins中的默认shell解释器只有bash。其主要思想是在ssh连接到远程主机后执行需要执行的命令,[我已经在计算机和服务器之间配置了ssh无密码登录,以便直接使用sshIP地址登录。

原文:https://blog.csdn.net/qq_36622490/article/details/100773589

这个需求主要是我在jenkins中pipeline的代码里,需要使用shell语言执行远程连接并且部署的工作,但是大多数的shell和服务器交互是使用expect解释器 就是之前我写过的那个关于expect有关的文章,问题是jenkins中默认的shell解释器只有bash,不能更改解释器的。所以就很难受,国内的百度基本都是搬运过来的内容,毫无意义,浪费时间,在国外博客浪荡几天之后终于找到了解决方案。

下面我来分享一下,大致意思呢就是执行完ssh 连接远程主机之后需要执行的命令,可以进行如下操作,命令不要照抄,换成你自己的user名和ip地址。

【我在我自己电脑和服务器之间都配置了ssh免密码登录 直接使用ssh IP地址就可以登录了,强烈建议配置ssh,非常方便】

1,登录远程主机执行单条命令

登录完主机之后执行一条命令

1 $ ssh USER@HOST 'COMMAND'

获取远程主机的最新更新时间

1 $ ssh root@192.168.1.1 'uptime'

登录完远程主机就进行重启远程主机

1 $ ssh root@192.168.1.1 'reboot'

那么问题出来了,上面的都是执行一条命令,那如果我需要执行多条命令怎么办呢?之前困扰我最大的问题就是这个,执行多条命令,虽然直接堆叠多条ssh 登录的语句 那些前缀也可以,但是看着就恶心。这样我们就可以使用以下几个方案,原内容如下,我做了备注,这样比较一目了然。

2,登录远程主机执行多条命令

【转】使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件第1张

 可能还有小伙伴会问,如果需要ssh登录远程之后执行指定的脚本文件怎么做?

3,登录远程主机执行指定脚本文件
 【转】使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件第2张

由此来看,英文还是非常重要的。不然遇到问题你都不知道怎么去搜了,不是我埋汰百度,确实国内搬运回答问题现象太严重,点进去一个除了站点不一样 内容都一样 连错别字都一样,如果你是经常和计算机打交道的一定下载个谷歌浏览器,必须可以使用谷歌,可以配置插件或者配置FQ设备。

免责声明:文章转载自《【转】使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇android之阴影效果Verdi 查看二维数组波形下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Eclipse配置C++11环境详细介绍

转:https://blog.csdn.net/wgxh05/article/details/54021049 本文记录Eclipse配置C++11开发所有作者遇到的情况,包括跨工程文件编译,内联文件编译等。 1.菜单“Project”——“Properties”——“C++ General”,如图所示:   2.“C++ Build”——“Setting...

环境配置——tornado项目准备工作

新建tornado项目后,采用Pycharm作为开发工具,采用Xshell链接Ubuntu模拟服务端方便方便测试。项目编码前进行以下几个方面的配置。 1.Ubuntu配置  1.1安装ssh服务 sudo apt-get install openssh-serve 2.Xshell配置  下载安装Xshell软件,并链接虚拟机 3.需安装包 3.1安装vi...

拉普拉斯平滑(Laplace Smoothing)

拉普拉斯平滑(Laplace Smoothing)又称 加1平滑,常用平滑方法。解决零概率问题。 背景:为什么要做平滑处理? 零概率问题:在计算实例的概率时,如果某个量x,在观察样本库(训练集)中没有出现过,会导致整个实例的概率结果是0。 在文本分类的问题中,当一个词语没有在训练样本中出现,该词语调概率为0,使用连乘计算文本出现概率时也为0。 这是不合理的...

npm 进阶命令知多少(一)

前言 作为前端模块化扎展现形式的npm包,已经在前端开发中不可或缺,熟练掌握npm相关内容,也是前端开发者的一门必修课,那么除了npm publish这类常见内容之外,还有哪些内容需要我们关注呢,下面就一起深入看看。 npm publish 发布npm包 该命令简单粗暴,执行之后,就会将相关文件上传到远端,并为对应包新增一个对应版本号。那么这里的相关文件和...

Ubuntu16.04上使用git

各系统git的使用除了安装方式不同,基本都一样,本文记录的是Ubuntu16.04上使用git 首先要区分git和github的区别: Git是分布式版本控制系统,也指基于命令行的版本管理工具github是个网站,用于远程托管你的项目,相当于云盘 在使用git前先去github注册一个自己的账户,邮箱,用户名,密码在以后都会使用到,不要乱填,也不要忘记。...

2020第44周Windows文件系统不区分大小写

由于Windows文件系统不区分大小写,所以你不能通过大小写来区分文件名或文件夹名,比如你在资源管理器中新建一个A.txt文件,想再建个a.txt时会提示你重名并自动重命名。这在Git操作时可能会遇到问题,比如你代码库里文件或文件夹修改了名称,默认Git认为是没变的,如果单纯让Git在仓库中区分大小写会产生两份文件并且无法在Windows系统中观察到),...