Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >while read line 与for循环的区别

while read line 与for循环的区别

作者头像
用户1278550
发布于 2019-05-23 10:16:51
发布于 2019-05-23 10:16:51
1.5K00
代码可运行
举报
文章被收录于专栏:idbaidba
运行总次数:0
代码可运行

一 背景

工作过程中遇到要从一个ip列表中获取ip port,然后ssh ip 到目标机器进行特定的操作,但是编写脚本的过程 使用while read line 读取ip列表,在while循环中只读取第一个ip 后就退出脚本的情况。

二 介绍

解释上面遇到的问题之前,先看到for 与while的测试对比,文中ip经过修改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#/bin/bashIPS="10.1.1.10 300110.1.1.10 300310.1.1.11 300110.1.1.11 300210.1.1.11 300410.1.1.11 300510.1.1.13 300210.1.1.13 300310.1.1.13 300410.1.1.14 3002"echo "====while test ===="i=0
echo $IPS | while read linedo    echo $(($i+1))    echo $linedone

echo "====for test ===="n=0for ip in $IPS ;do   n=$(($n+1))   echo $ip   echo $ndone

输出结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
====while test ====110.1.1.10 3001 10.1.1.10 3003 10.1.1.11 3001 10.1.1.11 3002 10.1.1.11 3004 10.1.1.11 3005 10.1.1.13 3002 10.1.1.13 3003 10.1.1.13 3004 10.1.1.14 3002====for test ====10.1.1.1013001210.1.1.1033003410.1.1.1153001610.1.1.11....

由例子可见 while read line 是一次性将信息读入并赋值给line ,而for是每次读取一个以空格为分割符的字符串。

三 原因

while中使用重定向机制,IPS中的所有信息都被读入并重定向给了整个while 语句中的line 变量。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。问题就出在这里,$line中的最后一行已经读完,无法获取下一行记录,从而退出 while循环。

解决方法

1 使用ssh -n "command" 2 ssh "cmd" < /dev/null 将ssh 的输入重定向输入。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yangyidba 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Javascript将HTML转成PDF并下载「支持多页」
由于html2canvas只能将它能处理的生成canvas image,因此渲染出来的结果并不是100%与原来一致。但它不需要服务器参与,整个图片都由客户端浏览器生成,使用很方便。
用户1093975
2018/08/03
4.2K0
前端生成pdf,jspdf+html2Canvas的使用(vue)
2、安装html2Canvas: npm install --save html2canvas
前端小tips
2021/11/27
8.2K0
前端生成pdf,jspdf+html2Canvas的使用(vue)
前端vue项目,把某个div盒子或当前页面生成pdf文件并下载。
3、事件 给需要生成pdf的盒子设置id:pdfDom 给按钮一个全局事件方法getPdf('个人征信报告'),参数是文件名
江一铭
2022/06/16
1.5K0
前端vue项目,把某个div盒子或当前页面生成pdf文件并下载。
页面DOM导出PDF
页面DOM导出PDF Nginx设置允许跨域 location /static { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; index index.html; root /data/wwwjarapi/8905xhkjfileapitest/; } 也就是在location下添加 add_header 'Access-Control-
码客说
2020/05/09
3K0
vue前端怎么导出图片_VUE中将页面导出为图片或者PDF
1.将页面html转换成图片 npm install html2canvas –save
全栈程序员站长
2022/09/01
2.9K0
Vue 结合html2canvas和jsPDF实现html页面转pdf
E:\MyProjects\TMP\frontend>npm install html2canvas
授客
2020/04/30
5.1K0
Vue 结合html2canvas和jsPDF实现html页面转pdf
HTML页面导出PDF——高清版
  需要做一个导出PDF的功能,网上找有很多,但是一般导出来的都是比较模糊的那种,下面这个是高清版的,导出的PDF都是几M,跟正常手动导出的差不多,很清晰。
_一级菜鸟
2019/09/10
2.3K0
html页面导出为pdf(jsPDF、iText、wkhtmltopdf)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/79710704
DannyHoo
2018/09/13
7.2K0
html页面导出为pdf(jsPDF、iText、wkhtmltopdf)
VUE 网页生成 PDF[通俗易懂]
如图,在导出文件时,发现网络错误,可能是因为下载器不支持,首先换浏览器试一次,如果可以下载,则就是下载器不支持。
全栈程序员站长
2022/08/28
2.1K0
VUE 网页生成 PDF[通俗易懂]
教你两招,轻松搞定html页面导出为pdf文件
Hi,大家好,我是麦洛,最近项目中遇到了将html页面导出为pdf文件,现在将相关内容分享出来,希望帮到有需要的伙伴
麦洛
2021/05/24
3.6K0
教你两招,轻松搞定html页面导出为pdf文件
​html2canvas 出现图片无法展示
最近接收到一个优化需求:就是对之前的行程文档的图文介绍添加打印生成 pdf 的功能
公众号---人生代码
2020/11/26
2.6K0
vue3 如何将页面生成 pdf 导出
最近工作中有需要将一些前端页面(如报表页面等)导出为pdf的需求,博主采用的是html2Canvas + jspdf。
唐志远
2023/07/26
1.4K0
vue3 如何将页面生成 pdf 导出
Vue 一键导出 PDF
生成 PDF 基本思路大多一致,先用 html2canvas 将 DOM 元素转换为 canvas,再利用 canvas 的 toDataURL 方法输出为图片,最后使用 jsPDF 添加图片生成 PDF 实现一键下载。
数媒派
2022/12/01
2K0
Vue如何实现导出页面为PDF
导入完成之后,开始编写需要进行操作的Vue页面,如下,当然其中页面只是为了参考,读者可以通过自己编写的页面来进行测试
初学者123
2020/10/07
2.4K0
Vue如何实现导出页面为PDF
vue-pdf实现pdf预览、分页、下载、打印
https://www.npmjs.com/package/vue-pdf-app
圆圆的冬瓜
2021/08/18
26.6K2
vue-pdf实现pdf预览、分页、下载、打印
所见即所得——HTML转图片组件开发
在我们日常开发中一定会遇到"所见即所得"的需求,如导出查询表格中的内容为 Excel 表格——《前端导出 Excel,让后端刮目相看》(https://juejin.cn/post/7030291455243452429)、通过后台网页配置实现配置预览页与实际页面展示的统一——《从零开发一款可视化大屏制作平台》(https://juejin.cn/post/6937257727106220040)。
政采云前端团队
2022/12/01
3.7K0
所见即所得——HTML转图片组件开发
html2canvas 与 jspdf 相结合生成 pdf 内容被截断的终极解决方案
最近接收到一个优化需求:就是对之前的行程文档的图文介绍添加打印生成 pdf 的功能
公众号---人生代码
2020/11/26
4.4K0
H5基于Canvas实现电子签名并生成PDF文档
原文:https://juejin.cn/post/6901273585428463624
zz_jesse
2021/01/06
4K0
H5基于Canvas实现电子签名并生成PDF文档
html导出pdf的四种方式
将html页面导出为pdf文件并打印,可以直接在windows下使用Ctrl + P,苹果下⌘ + P。
二十三年蝉
2018/12/05
5.1K0
html导出pdf的四种方式
React项目实现导出PDF的功能
在做web项目中,有时候会遇到pdf导出的需求,现根据之前在公司的React项目中遇到的导出PDF需求,整理一个demo出来。
用户1174387
2022/06/08
2.5K0
React项目实现导出PDF的功能
相关推荐
Javascript将HTML转成PDF并下载「支持多页」
更多 >
交个朋友
加入架构与运维学习入门群
系统架构设计入门 运维体系构建指南
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
加入前端学习入门群
前端基础系统教学 经验分享避坑指南
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验