@(Linux 命令脚本)

方便自动化运维部署,在多台机器上自动执行命令。

ssh 需要输入密码, 所以使用 expect 进行交互,从执行文本读取远程主机 IP, 登录名和密码后执行远程登录,执行命令。

脚本 remote_cmd.sh

#!/bin/bash

if [ ! -f "host.list" ]; then

echo "host.list no exit"

exit -1

fi

# 去除空行

sed -i '/^[:space:]*$/d' host.list

while read LINE

do

eval $(echo $LINE | awk '{printf("IP=%s USER=%s PASSWD=%s",$1, $2, $3)}')

expect <

set timeout 1200

spawn ssh -p 36000 -l $USER $IP

expect {

"yes/no" {send "yes\r"; exp_continue}

"password:" {send $PASSWD\r";}

}

sleep 1

send "cd ~/work/\r"

sleep 1

send "touch aa\r"

sleep 1

send "exit\n"

expect eof

exit

END

done < host.list

主机列表 host.list

192.168.67.236 lcd jklfds

192.168.67.236 lcd jklfds

通过 ssh 远程登录执行命令,启动远程终端, 通过参数 -t 实现 :

ssh -t -p 36000 -l lcd 192.168.67.236 "mkdir -p ~/work/lcd"

expect 需要安装 :

ubuntu 下 : sudo apt-get install expect

linux中spawn远程执行,linux 远程登录执行命令相关推荐

  1. Linux中的计划任务—Crontab调度一次性执行的任务at/batch

    概述 前不久我们梳理了Linux中的计划任务-Crontab调度重复执行的任务,但是有些场景我们只是需要执行一次,执行完就结束任务该怎么办呢? 这里我们要用到linux提供的at/batch命令. 本 ...

  2. linux命令中插入制表符,linux 中grep 匹配制表符 和 换行符的命令

    linux 中grep 匹配制表符 和 换行符的命令 使用: [root@dhcp-9-79 ~]# grep $'\n' log.txt [root@dhcp-9-79 ~]# grep $'\t' ...

  3. linux mv复制命令,linux中删除复制移动文件rm,mv,cp命令详解linux操作系统 -电脑资料...

    在linux中对文件的复制删除移动分别会使用到rm,mv,cp三个命令,下面我来给大家介绍一下rm,mv,cp命令对文件的常规操作吧, 先看实例 删除复制移动文件命令 Linux代码 rm -rf / ...

  4. linux mysql命令行导入_在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)...

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客 ...

  5. linux中用户组和用户,linux中用户和用户组

    一.用户和组原理 一个用户可以属于多个组,一个组有多个用户 在Linux中操作系统必须依赖组和用户进行管理 二.与用户和组相关的配置文件 1.组相关配置文件 1)/etc/group :管理用户组信息 ...

  6. 网页修改linux命令行,linux中文本修改操作命令linux网页制作 -电脑资料

    在命令模式下可以使用 vi 提供的各种有关命令对文本进行修改,包括对文本内容的删除.复制.取代和替换等, 1. 文本删除/移动 在编辑文本时 ,经常需要删除一些不需要的文本,我们可以用键将输错或不需要 ...

  7. linux中文件链接,关于Linux中文件,链接的一些思考

    在Unix系统中,操作系统为磁盘上的文本与图像,鼠标键盘操作,网络交互等IO操作设计了一组通用API. 使他们被处理的时候可统一用字节流的方式.所以说,除了进程之外,其他的一切均可看做文件. Linu ...

  8. linux中original_如何在 Linux 中整理磁盘碎片

    如何在 Linux 中整理磁盘碎片 转载自: 如何在 Linux 中整理磁盘碎片​linux.cn 有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀 ...

  9. Linux中的Shell用SSH自动登录远程服务器后执行命令并自动退出

    目录 [隐藏] 1 SSH命令格式 2 主要参数说明 3 ssh控制远程主机,远程执行命令步骤 4 准备工作 5 基于公私钥认证远程登录可能存在的不足 6 ssh 执行远程命令格式 6.1 打开远程s ...

最新文章

  1. iOS获取最上层控制器
  2. 高效管理 Elasticsearch 中基于时间的索引——本质是在利用滚动模式做数据的冷热分离,热索引可以用ssd...
  3. linux串口并行读取,请教linux串口问题!read读取时buf里只读取到8的倍数?
  4. git远程版本硬删除
  5. QT的QFormBuilder类的使用
  6. 论文拒稿的评价可以有多狠?
  7. mysql如何管理空间_管理空间的mysql数据库
  8. MFC实现 MSN QQ 窗口抖动
  9. 安卓 linux 街机 dc,DC最强的街机模拟器
  10. linux内核那些事之虚拟空间划分
  11. 今天,A股犹如过年!股市太火,炒股app都绷不住了
  12. IT兄弟连 JavaWeb教程 Servlet线程安全问题
  13. C++题解:百钱买百鸡数量
  14. 去掉GaussView启动警告窗口的办法
  15. xmind电脑安卓v2021.20.8免费全平台永久思维导图直装版
  16. Augustus:真核生物基因结构预测软件-安装篇
  17. O形橡胶密封圈设计标准
  18. windows XP系统自动关机
  19. vmware14下安装win7x64
  20. 微信扫一扫二维码无法下载APP的解决方案

热门文章

  1. Angular rxjs fromEvent使用的一个例子
  2. SAP OData service的执行是如何从Gateway系统转交到backend系统
  3. 一个初学者的SAP Cloud Platform学习笔记
  4. campaign read in WebUI - Fiori is correct!
  5. CRM Document history DB table
  6. binding.filter(filter) will trigger OData request to backend
  7. 如何使用Marketing Cloud的扩展字段作为搜索条件进行搜索
  8. What happens when clicking interaction recor工作中心
  9. SAP CRM Fiori应用之My Account功能一览
  10. 如何确保SAP OData服务的返回结构为JSON格式