srkp.net
当前位置:首页 >> linux Do DonE >>

linux Do DonE

#!/bin/bash echo "Enter password:" read TRY COUNTER=1 while [ "$COUNTER" -lt 5 -a "$TRY" != "secret" ]; do echo "Here we go again" COUNTER=$(($COUNTER+1)) read TRY done [ "$TRY" != "secret" ] && echo "error!"

while应该不关心读取次数吧,它不是按次数循环的,而是看文件是不是到了结尾,如果你想知道读取次数可以在循环里计算出来,文件有几行应该就读取了多少次,至于为什么\t被吃掉了,我认为是echo的时候把它当成制表符了

用ps aux 找到它的进程号kill杀之

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

这是一个for循环语句。 首先声明一个变量i ,将/*即根目录下的所有文件的名称全部赋值给刚刚声明的变量i。这一段在编程中叫做循环头。接下来。do 和done之间的部分是循环体。 echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。...

首先 在命令前面有个 '#'的意思是本句话是注释,并不实际执行... 再说你后面语句的意思,for ... in .... ; done是循环结构,ls是查看目录下的文件,su是以另一个身份($i),来运行一个shell,但问题是su 没有-sh选项,也就是说你这句话应该有问题才对. ...

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

#!/bin/sh num=1 while [ $num -le 10 ] do SUM =' expr $num \* $num ' echo $SUM num =" expr $num +1 " done 我上面这段脚本写的是10以内的乘法,可是就是报错第五行和第七行,而我又找不出哪里出了问题,求老师们给看看把

done是前面do的结束语句 < namefile是从namefile读取内容

列出/bin目录下所有文件的详细内容

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