wile read 与 ssh

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wile read 与 ssh相关的知识,希望对你有一定的参考价值。

一、代码1:

while read LINE
do 
    echo *******************************************$LINE 
    ssh 127.0.0.1 cat 
done < data.txt

 
实际结果:
1. echo命令只能打印第一行
2. ssh命令把data.txt文件当作输入,并打印出除第一行之外的其他的行
不符合预期的原因分析:
while中使用重定向机制,data文件中的信息都已经读入并重定向给了整个 while语句。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。
 
但是,因为ssh会读取存在的缓存。调用完ssh语句后,输入缓存中已经都被读完了,当read语句再读的时候当然也就读不到纪录,循环也就退出了。
这种方式的改进方式就是如代码2所示,对ssh使用输入重定向,而防止它去读while的缓存。
或者使用代码3的方式,即避免了使用重定向的方式。
 
 
二、代码2:

while read LINE 
do 
    echo *******************************************$LINE 
    ssh 127.0.0.1 ls < /dev/null 
done < data.txt 

 
实际结果:
1. echo命令依次打印出所有的行
2. 每打印一行,ssh命令执行一次
 
 
三、代码3:

for LINE in `cat data.txt`
    do

    echo *******************************************$LINE 
    ssh 127.0.0.1 ls
done 

 
实际结果:
1. echo命令依次打印出所有的行
2. 每打印一行,ssh命令执行一次

以上是关于wile read 与 ssh的主要内容,如果未能解决你的问题,请参考以下文章

MovieReview—Wile Hunter(荒野猎人)

用samtools的rmdup去除PCR重复reads

Vue报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object 的解决方法(代码片段

read ECONNRESET at TLSWrap.onStreamRead (internal/stream_base_commons.js:209:20) { errno: -4077(代码片段

Unity报错:Read only asset Packages/com.xxxxx.xxx.xxxx/Editor/VSCodeDiscovery.cs.IPGSD has no meta(代码片段

Unity报错:Read only asset Packages/com.xxxxx.xxx.xxxx/Editor/VSCodeDiscovery.cs.IPGSD has no meta(代码片段