dkfr.net
当前位置:首页 >> linux shEll rEADlinE >>

linux shEll rEADlinE

while read line do echo $line done

1、while使用重定向机制,ip.txt文件中的信息都已经读入并重定向给了整个while语句。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。问题就出在这里,ssh语句正好回读取输入中的所有东西。为了禁止ssh读所有东西增加一个< /...

思路: $ sed -n '8,13{N;s/\n/:/;p}' /home/ping.txt Code Server:192.168.1.10Counter Server:192.168.1.11Mysql Server:192.168.1.12然后,与你的思路类似,ping的时候切后半段,echo的时候切前半段,以冒号为分隔符。

因为使用了管道的原因,改成下面这样就可以了 a=0 while read line do a=$(($a+1)) echo "inter:"$a done < b.sh echo "outer:"$a

可以通过sed命令,将空行和注释行删除掉。 1、以下面的文档内容为例,#号开头的是注释,然后有很多空行,文档名为1.tt。 2、执行如下命令 sed '/^#.*\|^$/d' 1.tt说明:^#.*说明以#字符开头的行,^$表示手空行,中间的\|是转义,表示或。d表示删...

#! /usr/bin/bash filename="test.txt" len=0 max=0 maxline="" while read line do l=`echo $line | cut -d";" -f1` ll=`expr length "$l"` echo "$l $ll" if [[ $ll -gt $max ]] then max="$ll" maxline="$l" fi done < $filename echo "max l...

你这不就是把目录A目录下的内容复制到B目录下的问题吗?有必要那么复杂? cp -r /app/tlinx2/openapi/* /app/update/openapi/

#!/bin/bash while IFS= read line do echo $line done < ./file.txt

因为你前面使用了管道把数据传给 while,管道会启动一个“子进程”,while是在子进程中执行的,子进程中的变量是不会返回到父进程中的,所以你 while 结束后再看 arr 是空的,因为 while 里的 arr 是子进程的变量。改成如下就可以了: i=0while re...

while循环一次只读一行,直至读到文件末尾。你试试下面这个: while read line do echo "$line" done

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com