shell编程代码(Shell编程)

2023-11-30 06:12:12 数码极客 bianji01

 

shell编程

你这个要把日志里面的两行合并到一行上输出,用shell不好做,shell只适合把一行的数据格式转换一下。你这样的需要,应该考虑用PERL来写程序了。

本回答由提问者推荐

shell脚本编程

tputcup124;echo"AddAnother?(y)esor(q)quit:"

当你输入y或q的时候,然后就执行下而的语句:

tputcup418;readphonenum这句就将你输入的y或q赋给变量phonenum

接下来的就是判断你输的是什么,要是q话就退出,这里的退出不是退出while循环,只是退出tputcup124;echo"AddAnother?(y)esor(q)quit:"这一步,即不再输其它的.如果要退出while循环的话要加break,如果说是y的话,它仅仅是给phonenum赋了个变量,什么也没有做,我看后面的也没有再提到phonenum这个变量,我想一定还有其它的代码吧!

然后就接着执行下面的

tputcup518;readlname

tputcup618;readfname

tputcup718;readmidinit

tputcup818;readdeptno

tputcup918;readjobtitle

tputcup1018;readdatehired

#Checktoseeiflastnameisnotablankbeforeyouwritetodisk

if["$lname">""]

echo"$phonenum:$lname:$fname:$midinit:$deptno:$jobtitle:$datehired">>$phonefile

还有下面的一段代码:

tputcup1233;readlooptest

if["$looptest"="q"]

clear;exit

就你发表的这一些程序来看,这里根本不起作用,因为在while之前你就已定义了

looptest=y所以你在这再加上这一句是没有用的,因为looptest就等于y永远不等于q

然后当你的while没有退出来的时候,它就会不停的循环下去,因为

ooptest=y

while[$looptest=y]

这一句其实就等于while:永远为真,不停的循环下去!

以上为鄙人愚见,鄙人也是名shell初学者,有错误之处还请指出,谅解!谢谢!

本回答由提问者推荐

LINux shell编程

bin/bashwhile :doecho -n "n"|bc)echo "一、#!/please input filename :"read fnameif [ "!/bin/bashj=1i=2while [ $i -le 100 ];" ];thencontinuefiif [ -f "$fname" ];thenif [ ! -x "$fname" ];thenchmod u+x $fnamefielsetouch $fnamechmod u+x $fnamefidone二、使用bc进行计算,不会溢出#;doj=$(echo -e "$i*$j\nquit\$fname" == "

shell编程

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告