首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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.5K20

    linux之read命令

    从键盘读取变量值,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的数组里。

    2.2K40

    linux之read命令

    从键盘读取变量值,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.4K00

    linux之read命令

    从键盘读取变量值,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

    显示硬件信息的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.8K00

    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 ] # 注意中括号中的空格。

    2.2K20

    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.4K00

    Linux tac命令入门【Linux-Command line】

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

    4.4K50

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

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

    6.9K110

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

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

    10.4K00

    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.6K00

    Linux chgrp和newgrp命令简介【Linux-Command line】

    community-penguins-osdc-lead.png 在近期的文章中,我介绍了chown命令,该命令用于修改系统上文件的所有权。 回想一下,所有权是分配给对象的用户和组的组合。...就像许多其他Linux命令一样,chgrp具有递归参数“-R”。 你需要用它对目录及其内容进行递归操作,如下文所示。...保留根 Linux文件系统的根(/)应该受到高度重视。 如果在此级别上犯了一个命令错误,那么后果可能不堪设想,使系统完全无法使用。 尤其是在运行进行任何类型的更改(或更糟糕的是删除)的递归命令时。...但是,如果该命令由root用户运行,则“/”的权限将更改,但其中的其他文件或目录的权限则不会更改: 屏幕快照 2019-11-20 下午9.28.07.png 令人惊讶的是,这似乎不是默认参数。...当不同的用户将文件放入目录时,文件的主要组可能会变得混乱。

    1.4K10
    领券