原文: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,登录远程主机执行单条命令

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

 $ ssh USER@HOST 'COMMAND'

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

 $ ssh root@192.168.1.1 'uptime'

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

 $ ssh root@192.168.1.1 'reboot'

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

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

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

3,登录远程主机执行指定脚本文件
 

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

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

  1. linux系统执行多条命令,linux系统执行复合命令

    在操作linux系统的时候,你是否遇到过打开一个目录,然后查看一个文件里面的内容. 我们可以使用命令   cd + 目录     cat + 文件名,我们需要输入两次,点击两次 enter   有没有 ...

  2. ssh 执行多条命令包含awk的用法

    格式:ssh user@ip command 单条命令:ssh user@ip command1 多条命令:ssh user@ip "command1;command2" 不加双引 ...

  3. supervisor的command执行两条命令

    如下supervisor的进程的comand配置参数只能写一个命令 1.要执行多条命令,可以写个sh文件包含多条命令,然后sh -x   xxxx.sh,但这样又多了一个文件, 2.把所有命令放在字符 ...

  4. [ SHELL编程 ] 远程服务器传输文件

    在shell编程中经常需要获取远程服务器文件.手工操作中使用scp命令完成.为避免脚本执行scp输入密码进行交互,需先建立本机服务器当前用户和远程服务器指定用户的信任关系.具体代码见操作实例,重点关注 ...

  5. MAC下ssh免密码登录远程服务器

    生成密钥.在终端下执行命令: ssh-keygen -t rsa 一路回车,各种提示按默认不要改,等待执行完毕.然后执行: ls ~/.ssh #可以看到两个密钥文件:id_rsa(私钥) id_rs ...

  6. SQLServer2012在登录远程服务器实例时报错:尝试读取或写入受保护的内存

    SQLServer2012在登录远程服务器实例时报错:尝试读取或写入受保护的内存.这通常指示其它内存已损坏.(System.Data). 而登录本地数据库实例则能顺利登入,不存在上述问题. 试一试重置 ...

  7. 利用ssh-copy-id无需密码登录远程服务器

    本地机器生成公钥和私钥 ssh-keygen -t rsa 一路回车,最后会在~/.ssh目录下生成id_rsa和id_rsa.pub这两个文件. 与远程服务器建立信任机制 ssh-copy-id - ...

  8. mac 使用iTerm2快捷登录远程服务器

    mac 使用iTerm2快捷登录远程服务器 正常使用ssh登录服务器: ssh -p port user@host user@host's password: 输入端口,用户名,服务器ip地址后,还需 ...

  9. 用Python写个自动ssh登录远程服务器的小工具

    很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的 ...

随机推荐

  1. Jenkins Pipeline waitForQualityGate pending 超时

    请参考链接:http://www.iotxing.com/2019/06/12/258/jenkins-pipeline-waitforqualitygate%E8%B6%85%E6%97%B6/ 主 ...

  2. winform学习(6)控件的对齐、比例、定位操作

    窗体控件的常用操作 选中一个控件,按住Ctrl再点选另一个控件(此时编辑的是第二个控件,当使用框选选中多个控件时,编辑的是黑色锚点的控件) 代码中的居顶和居底: 控件标识符.BringToFront( ...

  3. linux虚拟机安装jenkins及maven/jdk配置

    一.jenkins安装 (1)tomcat下载,下载地址:https://tomcat.apache.org 选择对应的版本,以下以新版的tomcat 9.0版本为例 下载zip包 (2)jenkin ...

  4. SSG (slow global), TTG (typical global) and FFG (fast global)

    https://semiwiki.com/x-subscriber/clk-design-automation/4481-variation-alphabet-soup/ n response, fo ...

  5. python 小故事1

    def test(a:str,b:int)->str: print(test.__annotations__) return a+str(b) def doc_print(): "&q ...

  6. thinkphp中 model(模型)的使用

    首先:有三个数据表 现在用命令行建立它们的模型 php think make:model admin/Class php think make:model index/Teacher

  7. Redis02——安装Redis

    1.下载获得redis-3.2.5.tar.gz后将它放入我们的Linux目录/opt 2.解压命令:tar -zxvf redis-3.2.5.tar.gz 3.解压完成后进入目录:cd redis ...

  8. EVE-NG镜像模板资源占用统计

    转:http://www.emulatedlab.com/forum.php?mod=viewthread&tid=432&extra=page%3D1 EVE  Image fold ...

  9. Linux 下使用 ffmpeg 大批量合并 ts 文件, mp4切割文件为m3u8

    见范例 ffmpeg -i "concat:file001.ts|file002.ts|file003.ts|file004.ts......n.ts" -acodec copy ...

  10. Linux环境下mysql报错:bash: mysql: command not found 的解决方法

    # mysql -u root-bash: mysql: command not found 原因:这是由于系统默认会查找/usr/bin下的命令. 如果这个命令不在这个目录下,当然会找不到命令. 我 ...