首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

while read line 与for循环区别

一 背景 工作过程中遇到要从一个ip列表中获取ip port,然后ssh ip 到目标机器进行特定操作,但是编写脚本过程 使用while read line 读取ip列表,在while循环中只读取第一个...二 介绍 解释上面遇到问题之前,先看到for 与while测试对比,文中ip经过修改。...由例子可见 while read line 是一次性将信息读入并赋值给line ,而for是每次读取一个以空格为分割符字符串。...三 原因 while中使用重定向机制,IPS中所有信息都被读入并重定向给了整个while 语句中line 变量。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。...问题就出在这里,$line最后一行已经读完,无法获取下一行记录,从而退出 while循环。

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

linuxread命令

从键盘读取变量值,read命令从键盘读取变量值,通常用在shell脚本中与用户进行交互场合。该命令可以一次读取多个变量值,变量和输入值都需要使用空格隔开。...在read命令后面,如果没有指定变量名,读取数据将被自动赋值给特定变量REPLY 命令语法 read [选项][参数] 命令选项 -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符...从标准输入读取输入并赋值给变量 > read rumenz 123 > echo $rumenz 123 从标准输入读取输入到第一个空格或者回车,将输入第一个单词放到变量rumenz1中,并将该行其他输入放在变量...> read rumenz1 rumenz2 从标准输入读取一行并赋值给特定变量REPLY。 > read 123 > echo $REPLY 123 把单词清单读入arrayname数组里。...> read -p "输入密码:" -s pd 密码: > echo $pd 123456 原文链接:https://rumenz.com/rumenbiji/linux-read.html 微信公众号

2.1K00

linuxread命令

从键盘读取变量值,read命令从键盘读取变量值,通常用在shell脚本中与用户进行交互场合。该命令可以一次读取多个变量值,变量和输入值都需要使用空格隔开。...在read命令后面,如果没有指定变量名,读取数据将被自动赋值给特定变量REPLY 命令语法 read [选项][参数] 命令选项 -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符...-d 后面跟一个标志符,其实只有其后第一个字符有用,作为结束标志。 -p 后面跟提示信息,即在输入前打印提示信息。 -e 在输入时候可以使用命令补全功能。...从标准输入读取输入并赋值给变量 > read rumenz 123 > echo $rumenz 123 从标准输入读取输入到第一个空格或者回车,将输入第一个单词放到变量rumenz1中,并将该行其他输入放在变量...> read rumenz1 rumenz2 从标准输入读取一行并赋值给特定变量REPLY。 > read 123 > echo $REPLY 123 把单词清单读入arrayname数组里。

1.9K40

linuxread命令

从键盘读取变量值,read命令从键盘读取变量值,通常用在shell脚本中与用户进行交互场合。该命令可以一次读取多个变量值,变量和输入值都需要使用空格隔开。...在read命令后面,如果没有指定变量名,读取数据将被自动赋值给特定变量REPLY 命令语法 read [选项][参数] 命令选项 -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符...从标准输入读取输入并赋值给变量 > read rumenz 123 > echo $rumenz 123 从标准输入读取输入到第一个空格或者回车,将输入第一个单词放到变量rumenz1中,并将该行其他输入放在变量...> read rumenz1 rumenz2 从标准输入读取一行并赋值给特定变量REPLY。 > read 123 > echo $REPLY 123 把单词清单读入arrayname数组里。...> read -p "输入密码:" -s pd 密码: > echo $pd 123456 原文链接:https://rumenz.com/rumenbiji/linux-read.html

1.8K00

显示硬件信息Linux命令【Linux-Command line

最简单方法是使用标准Linux GUI程序之一: i-nex收集硬件信息并以类似于Windows下流行CPU-Z方式显示。...或者,你可以发出Linux line命令。 且慢,这听起来很难。 你何必这样做呢? 有时,通过有针对性line命令很容易找到特定信息。 也许你没有可用GUI程序,或者不想安装。...内存 Linux行命令使你可以收集关于计算机内存所有可能详细信息。 你甚至可以确定是否在不打开box情况下向计算机添加额外内存。...: 屏幕快照 2019-11-24 下午3.29.10.png 要启动Linux,需要确定GRUB引导加载程序可安装分区。....png 或 屏幕快照 2019-11-24 下午3.32.00.png 网络 Linux提供了大量网络线路命令。

4.1K00

Linux-read 命令(20)

Linux read 命令 参数说明: -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。 -d 后面跟一个标志符,其实只有其后第一个字符有用,作为结束标志。...-e 在输入时候可以时候命令补全功能。 -n 后跟一个数字,定义输入文本长度N,很实用。 -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常字符了。.../bin/bash read -p "请输入一串值:" -a array #等待用户输入一串值,以空格隔开 echo "get ${#array[@]} values in array.../bin/bash count=1 cat test.txt | while read line # cat 命令输出作为read命令输入,read读到>值放在line中 do...echo "Line $count:$line" count=$[ $count + 1 ] # 注意中括号中空格。

1.9K20

Linux useradd命令简介【Linux-Command line

01.png 添加用户是任何计算机系统上最基本练习之一。 本文重点介绍如何在Linux系统上执行此操作。 在开始之前,我要提及三个基本原则。...首先,与大多数操作系统一样,Linux用户需要一个帐户才能登录。本文专门介绍本地帐户,而不是LDAP等网络帐户。 其次,帐户既有名称(称为用户名)又有数字(称为用户ID)。 第三,通常将用户分组。...如你所料,Linux包含一个用于添加用户命令行实用程序, 它称为useradd。 您还可以找到命令adduser。 为了方便起见,许多发行版都将此符号链接添加到useradd命令。...屏幕快照 2019-11-17 下午4.02.22.png 让我们看一下useradd |注意:本文描述默认设置反映了Red Hat Enterprise Linux 8.0中默认设置。...在其他Linux发行版或其他Unix操作系统(例如FreeBSD或Solaris)中,你可能会发现这些文件以及某些默认值细微差别。

1.1K00

Linux tac命令入门【Linux-Command line

cat命令经常被滥用,而tac通常被当作ddate或cowsay之类玩笑命令。 愚人节文章中经常详细介绍傻气终端技巧。 所以当发现tac确实有合理理由存在时,人们可能感到惊讶。...实际上tac是十分有效命令。 tac目的是什么?...Tac和正则表达式 正则表达式完整说明不在本文讨论范围之内,但是值得一提是,扩展POSIX为环境变量所支持。 扩展regex大大提高了正则表达式可读性,为了简单起见,被本示例所采用。...可以将此变量设置为除零以外任何值以激活它,且可以通过所有常用方法进行操作: 导出你正在使用Shell会话变量。 在你Shell配置文件(例如“〜/ .bashrc”)中设置环境变量。...何时使用tac 这些简单而有用解析选项使tac可作为不复杂,甚至极简解析命令使用。对于那些不太值得编写AWK或Perl表达式简单工作,tac可能是一个明智解决方案。

3.5K50

【高级编程】Linux read系统调用

比如 fork、clone、execve、exit等 那为什么一定要用系统调用来访问操作系统内容呢,其实这可以看做对内核保护,linux分为用户空间和内核空间,而用户空间是不允许访问内核空间数据...引入 cache 层目的是为了提高 linux 操作系统对磁盘访问性能。 Cache 层在内存中缓存了磁盘上部分数据。...Linux内核中文件预读算法具体过程是这样:对于每个文件第一个读请求,系统读入所请求页面并读入紧随其后少数几个页面(不少于一 个页面,通常是三个页面),这时预读称为同步预读。...一个物理页可能由多个不连续物理磁盘块组成。也正是由于页面中映射磁盘块不一定连续,所以在页高速缓存中检测特定数据是否已被缓存就变得不那么容易了。另外linux页高速缓存对被缓存页范围定义非常宽。...缓存目标是任何基于页对象,这包含各种类型文件和各种类型内存映射。为了满足普遍性要求,linux使用定义在linux/fs.h中结构体address_space结构体描述页高速缓存中页面。

5.9K110

更改Linux终端颜色主题【Linux-Command line

终端有很多选项,可让你对看到内容进行主题设置。 terminal_command_linux_desktop_code.jpg 如果你一整天都盯着终端,自然想让它变得赏心悦目。...因此,很有可能你软件终端窗口中有很多选项可以使你看到内容主题化,不管你如何定义美。 设定 大多数流行软件终端应用程序,包括GNOME,KDE和Xfce,都带有更改其颜色主题选项。...要将终端更改为新配置文件,请单击“应用程序”菜单,然后选择“配置文件”。 选择新个人资料并享受你自定义主题。...请参阅终端手册页,以了解可用功能。...另外,你可以使用xrdb工具来管理与X相关资源(但这超出了本文讨论范围)。 Home是可定制化地方 定制Linux机器并不意味着你必须学习如何编程。

8.7K00

Hexdump如何工作【Linux-Command line

Hexdump可帮助查证二进制文件内容。 了解hexdump工作原理吧。...find-file-linux-code_magnifying_glass_zero.png Hexdump是一种实用程序,可以以十六进制,十进制,八进制或ASCII显示二进制文件内容。...巧合是,这就是Hexdump所揭示。 目前,你可以在所选图像查看器中查看一个像素图形(它看起来像是“.”)...,也可以使用hexdump查看文件中内容: 屏幕快照 2019-11-25 下午8.35.02.png 你所看到是通过以前从未使用过lens得到示例PNG文件内容。...因此,hexdump输出是真实,但对你而言并不总是直接可用,这取决于你要查找内容。 因此,hexdump具有用于格式化和转换其转储原始数据选项。

2.1K00
领券