shell -脚本 给出多个数据列表 执行任务

方法1:

#!/bin/bash
USER=`cat iplist.txt`
PASS=`cat passwd.txt`
echo $USER
SSH()
{ while true
do
    x=$1;shift;y=$2                //注意shift, 如果不进行移位操作,$1的值就不会变。
                                
/usr/bin/expect <<-EOF
spawn ssh [email protected]$x
expect "(yes\no)" {
send "yes\r"
expect password
send "$y\r" }
expect "*passwd"
send "$y\r"
expect "#"
send "touch 2222222\r"

方法2:
send "logout\r"
expect eof
EOF

done
}
SSH $USER $PASS  1 #########################################################################
  2 # File Name: 1.sh
  3 # Author: dty
  4 # mail: [email protected]
  5 # Created Time: Sat 15 Aug 2015 06:36:18 PM CST
  6 #########################################################################
  7 #!/bin/bash
  8 USER=`cat iplist.txt`
  9 PASS=`cat passwd.txt`                                                                                                                                                    
 10 while read x y
 11 do
 12 /usr/bin/expect <<-EOF
 13 spawn ssh [email protected]$x
 14 expect "(yes\no)" {
 15 send "yes\r"
 16 expect password
 17 send "$y\r" }
 18 expect "*passwd"
 19 send "$y\r"
 20 expect "#"
 21 send "touch 111111111111111111111\r"
 22 send "logout\r"
 23 expect eof
 24 EOF
 25
 26
 27 done< <(echo  "$USER" "$PASS\n")
 28
 29

时间: 2024-10-23 06:48:24

shell -脚本 给出多个数据列表 执行任务的相关文章

linux下SSH服务利用shell脚本实现密钥的批量分发与执行

SSH项目利用shell脚本实现密钥的批量分发与执行 1 ssh密钥的批量分发 开始安装sshpass免交互工具并进行SSH-key的批量分发 1.1 下载epel源并更新yum仓库 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum -y clean all yum makecache 1.2 安装sshpass工具 yum -y install sshpass 2 创建密钥文件 2

Windows 和 Linux 中的换行与回车的区别,Windows下编写的Shell脚本,直接放到linux/unix下执行会报错

首先: CR(Carriage Return)表示回车 LF(Line Feed)表示换行 Dos和Windows采用回车+换行(CR+LF)表示下一行而UNIX/Linux采用换行符(LF)表示下一行苹果机(MAC OS系统)则采用回车符(CR)表示下一行 Windows下编写的Shell脚本,直接放到linux/unix下执行会报错,就是因为行结束符不一样导致的. 现在好多文本工具都提供了转换功能,如我常用的,也是最强大的工具 (个人感受,不是打广告):notepad++. 原文地址:htt

shell脚本+mysql数据库组合进行数据安全监控

shell脚本 + mysql数据库 实现企业级会话边界控制器文件解析并告警 dirsx30001.sh处理文件,生成mysql备份文件的方式进行导入 #/bin/bash ##环境变量 path=/home/sbclog/sx30001 ##由于抓取的日志文件中没有年份参数,故导入系统年份参数,以达到数据库时间字段datetime ##也可以抓取tar包的名字中的字段 date_year=`date|cut -c 25-` #test ! -e $path/*.tar &&echo &q

《懒人Shell脚本》之七——格式化处理数据存入数据库实现

0.引言 实际应用开发中遇到:将非格式化的文件数据存储到数据库中.对于传统的格式化的数据:ini/json/xml我们都有现成的类库去实现.而对于如下非格式化的数据呢?以下是我的思考与实现. 数据截取片段如下所示: [[email protected] 2017]# head -n 10 input.txt [url]http://epaper.tianjinwe.com/mrxb/mrxb/2013-02/21/content_7566593.htm 新报讯[记者王晶通讯员赵子强]对31.66

如何使用shell脚本快速排序和去重文件数据

前面写过一篇通过shell脚本去重10G数据的文章,见<用几条shell命令快速去重10G数据>.然而今天又碰到另外一个业务,业务复杂度比上次的单纯去重要复杂很多.找了很久没有找到相应的办法,于是用shell脚本程序去处理.具体业务逻辑: 1.首先根据给定指定进行排序 2.排序后对给定字段进行去重,去重的规则如下: a)排序后如果相邻N行给定字段值相同的行数不超过两行,则两行都保留. a)排序后如果相邻N行给定字段值相同的行数超过两行,则保留首行和尾行. 就这样一个业务逻辑,其实看起来并不是太

Saiku数据库迁移后的刷新脚本-Shell脚本读取数据库中的数据(二十三)

Saiku数据库迁移后的刷新脚本 之前有谈过对saiku中的数据进行刷新,因为saiku默认会从缓存中查询数据,但是配置不使用缓存又会效率低下... 所以这里就需要做一个数据刷新,每次ETL之后都需要执行一遍数据刷新脚本. 刷新脚本主要分为两部分 1.使用shell命令从数据库中读取已有的用户信息 (因为已经做过数据迁移,数据库已经从h2转为我们自己的mysql) saikuRefresh.sh #!/bin/bash #数据库连接信息 HOSTNAME="10.11.22.33" #

Bash shell脚本打印出正在执行的命令

默认情况下,bash脚本不会打印执行的每个命令,这个有时候不太方面. 如下的方法可以让bash脚本打印出执行的命令: 1) 在脚本里添加 set -v 或者 #!/bin/bash -v 以加 set -v 最好. set -v  和 set -o verbose 是一样的 2) 添加 set -x 或者 #!/bin/bash -x 3, bash -v script.sh 或者 bash -x script.sh

shell脚本的使用---cut截取数据

linux之cut命令的用法 作者: 字体:[增加 减小] 类型:转载 时间:2013-10-03 我要评论 cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的 (1)其语法格式为: cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file] 使用说明 cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出. 如果不指定 Fi

shell脚本写出一个简单的猜价格游戏

[[email protected] ~]# vim game.sh #!/bin/bash a=$(expr ${RANDOM} % 1000) #$RANDOM是一个环境变量,每次都会输出一个不一样的数,并且小于2的16次方 count=0 echo "这个商品的价格是(0-999)元之间,猜猜具体价格?" while true do let count++ read -p " 请输入您猜到的具体价格,并按Enter键确认:" b if [ $b -eq $a