文档章节

while和ssh连用的误区

perofu
 perofu
发布于 2014/07/12 14:41
字数 336
阅读 591
收藏 4
点赞 0
评论 1

 

         今天听到同事,说了whilessh连用的从定向问题,然后baidu了下,特此总结。

详见:http://blog.csdn.net/shrekmu/article/details/2513177

 

         for循环中,没有此问题。

 

         原因:while循环中,使用了重定向机制,被读取文件中的信息都已经读入并重定向给了整个while语句。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。问题就出在这里,ssh语句正好读取输入的所有信息

 

         解决办法:while循环中的ssh语句的最后,加上< /dev/null,即可。

格式:

cat file|while read LINE

do

      echo ********************************$LINE

      ssh  $LINE cat </dev/null

done

 

实例1:常见的错误

 

[root@ tmp]# cat date

172.21.34.20

172.21.34.23

172.21.34.22

 

[root@ tmp]# vi while_ssh.sh

 

#!/bin/bash

while read LINE

do

      echo ********************************$LINE

      ssh  $LINE cat

done < date

 

 

[root@ tmp]# sh -x while_ssh.sh

+ read LINE

+ echo   '********************************172.21.34.20'

********************************172.21.34.20

+ ssh -p 10060 172.21.34.20 cat

172.21.34.23

172.21.34.22

+ read LINE

 

 

实例2:解决办法

 

[root@   tmp]# cat date

172.21.34.20

172.21.34.23

172.21.34.22

 

[root@   tmp]# vi while_ssh.sh

 

#!/bin/bash

while   read LINE

do

    echo   ********************************$LINE

    ssh  $LINE cat </dev/null

done   < date

 

 

[root@   tmp]# sh -x while_ssh.sh   

+   read LINE

+   echo '********************************172.21.34.20'

********************************172.21.34.20

+ ssh   -p 10060 172.21.34.20 cat

+   read LINE

+   echo '********************************172.21.34.23'

********************************172.21.34.23

+ ssh   -p 10060 172.21.34.23 cat

+   read LINE

+   echo '********************************172.21.34.22'

********************************172.21.34.22

+ ssh   -p 10060 172.21.34.22 cat

+   read LINE


© 著作权归作者所有

共有 人打赏支持
perofu
粉丝 127
博文 151
码字总数 130481
作品 0
广州
系统管理员
加载中

评论(1)

perofu
perofu
今天测试while+nc到ssh端口,也是出现同样的问题,make:sweat_smile:
关键字:国外镜像服务器,Nginx,Proxy,G姓防火墙,SSH,压缩,加密传输,专用隧道。

想了好久,这个标题应该怎样写。 就如同我想了很久这需求应该怎样配。 我所建立以摄影图片为主的论坛,有一大部分朋友远在国外。 他们在各地的校园或市镇里头上网所连接位于国内的服务器稳定...

范堡
2011/07/15
1K
8
join用法与for循环用法

一:join用法 字符串迭代添加元素 s='dsfhhewfe's1='*'.join(s)print(s1) 打印结果: dsfhhewfe 二:字符串循环(与for循环连用,可以添加break,continue) 1 for循环与break连用 for i in...

偷笑的骆驼
01/24
0
0
SSH隧道与端口转发及内网穿透

SSH隧道与端口转发及内网穿透 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多。不过其实除了这个功能,它的隧道转发功能更是吸引人。下面是个人根据自己的需求以及在网上查找的...

fighting-cluber
2013/12/22
0
0
走出架构误区,架构师并不是想象的那么容易

几年前还记得我发表的软件设计的几大误区吗?   随着时代的发展,orm被更多人接受,九十年代出来的设计模式也被动地融入到主流框架,以至于设计模式到现在发展成了架构模式和业务模式,而存...

技术小能手
06/08
0
0
通过示例学习使用 netstat

netstat 是一个告诉我们系统中所有 tcp/udp/unix socket 连接状态的命令行工具。它会列出所有已经连接或者等待连接状态的连接。 该工具在识别某个应用监听哪个端口时特别有用,我们也能用它来...

作者: Shusain
2017/12/11
0
0
ECS SSH秘钥对(二)OpenAPI实践

api概览 实例相关 创建实例指定keypair 运行实例绑定keypair 运行实例解绑keypair keypair管理 创建keypair 导入keypair 查询keypair 删除keypair OpenAPI使用最佳实践 创建实例场景 调用Cre...

竹涧
2017/09/30
0
0
跟阿铭学linux 第二课 Linux 文件和目录管理

2.1 系统目录结构 /root/.ssh/authorized_keys 查看指令的说明 安装tree 命令 以树型显示目录,显示两层 Linux常用目录结构 /bin 存放常用的命令 /boot 启动时使用的核心文件 /dev 外部设备文...

Iammalt
2017/08/08
0
0
数组类的运用和怎样学好Java

Array类在Java中运用,举实例。还有它与a[]怎样连用。 怎样学好Java,在学习过程中要注意那些问题

523304708
2012/08/18
171
3
抽象类(接口)能被实例化吗?static、synchronized、native修饰抽象方法能行吗

答案是否定的,抽象类是不能直接被实例化的,不能直接通过new关键字来获取实例对象,有的人可能会说在new的时候实现接口方法或者抽象方法就能实例化了,就像这样 实际上呢,这并不是直接的实...

AI9o後
2017/11/03
0
0
英语中的完成时态的比较

目的:学习笔记 概要:讲解完成时态,过去完成时、现在完成时及将来完成时。 过去完成时:表示一个动作在过去某个动作之前已经发生完成了,侧重于”过去的过去“是一个相对时态。 现在完成时:...

RickyHuL
2017/07/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统

expect脚本同步文件 更改权限 执行脚本 查看执行结果 expect eof需要加上,作用是等脚本命令执行完再进行退出 expect脚本指定host和要同步的文件 更改权限,执行脚本 构建文件分发系统 需求背...

Zhouliang6
11分钟前
1
0
Hive应用:外部分区表

Hive应用:外部分区表 介绍 Hive可以创建外部分区表。创建表的时候,分区要在建表语句中体现。建完之后,你不会在表中看到数据,需要进行分区添加,使用alter语句进行添加。然后数据才会显示...

星汉
22分钟前
0
0
点击Enter登录

1. 效果 2. 实现过程(记得引入jq文件) //6.回车事件 登录 $(function() { document.onkeydown = function(event) { var e = event || window.event || arguments.callee.caller.arguments......

Lucky_Me
27分钟前
1
0
点击菜单内容切换

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .menu{ height: 38px; background-color: #eeeeee; line-height: 38px; } .mao{ ......

南桥北木
今天
1
0
OSChina 周六乱弹 —— 妹子和游戏哪个更好玩

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享唐朝乐队的单曲《国际歌》 《国际歌》- 唐朝乐队 手机党少年们想听歌,请使劲儿戳(这里) @举个栗子- :日常祈雨 邪恶的大祭...

小小编辑
今天
460
6
流利阅读笔记32-20180721待学习

“人工智能”造假:只有人工,没有智能 Lala 2018-07-21 1.今日导读 当今社会,擅长单个方面的人工智能已经盛行,手机借助 AI 智慧防抖技术帮助大家拍出清晰照片,谷歌研发的 AI 助手将可以帮...

aibinxiao
今天
6
0
我的成长记录(一)

今天突然精神抖擞,在我的博客下新开一项分类>成长记录,专门记录每隔一段时间我的一点感悟吧。因为今天才专门花时间新开这样一个分类,所以以前有过的一些感悟没有记录下来,现在已经想不起...

dtqq
今天
1
0
机器学习管理平台 MLFlow

最近工作很忙,博客一直都没有更新。抽时间给大家介绍一下Databrick开源的机器学习管理平台-MLFlow。 谈起Databrick,相信即使是不熟悉机器学习和大数据的工程湿们也都有所了解,它由Spark的...

naughty
今天
7
0
idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
2
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部