linux及案例第二天本要求熟悉LinuxShell环境的特点主要练习以下操作_第1页
linux及案例第二天本要求熟悉LinuxShell环境的特点主要练习以下操作_第2页
linux及案例第二天本要求熟悉LinuxShell环境的特点主要练习以下操作_第3页
linux及案例第二天本要求熟悉LinuxShell环境的特点主要练习以下操作_第4页
linux及案例第二天本要求熟悉LinuxShell环境的特点主要练习以下操作_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NSDSS中的数值运ifS中的数值运本案例要求熟悉LinuxS环境的特点,主要练习以下操作expr、$[letX=1234,X78bc12.3456.784乘法操作应采用\*转义,避免被作为S通配符;参与运算的整数值与运算操作符之间需要以[root@svr5~]# [root@svr5~]#expr$X+ [root@svr5~]#expr$X- [root@svr5~]#expr$X\* [root@svr5~]#expr$X/ [root@svr5~]#expr$X% 乘法操作*无需转义,运算符两侧可以无空格;变量可省略$符号;计算结果替换表达式本echoechoecho$[X-echoechoecholetexpr或$[]、$(())方式只进行运算,并不会改变变量的值;而let命令可以直接对变量值做运算再echo[root@svr5~]#[root@svr5~]#letX+=78;echo[root@svr5~]#letX-=78;echo[root@svr5~]#letX*=78;echo[root@svr5~]#letX/=78;echo[root@svr5~]#letX%=78;echobc12.345.678[root@svr5~]#bcCopyright1991-1994,1997,1998,2000,2004,2006SoftwareFoundation,ThisissoftwarewithABSOLUYNOFordetailstype 12.34- - 0 [root@svr5bcscale=N[root@svr5~]#echo'scale=4;12.34+5.678'|[root@svr5~]#echo'scale=4;12.34-5.678'|[root@svr5~]#echo'scale=4;12.34*5.678'|[root@svr5~]#echo'scale=4;12.34/5.678'|识别文件 的状使用“test[root@svr5~]#[root@svr5~]#test$X-gttest(推荐用这种方式[root@svr5~]#[$X-gt5[root@svr5他操作)。比如,分别测试变量X(10)5[root@svr5~]#[$X-gt5[root@svr5~]#echo [root@svr5~]#[$X-gt20[root@svr5~]#echo [-5]&&echo"YES"||echo10>5,[-20]&&echo"YES"||echo10<20test本身是一个命令,所以往宽了理解,任何命令都可以用作测试,因为在S环境中每个命令执行完后都会有返回状态$?。比如,若要检查一个软件包是否安装,正常可以执行“rpm-q软件名”查询,人工可以直接看显示结果,却没有那么智能,怎么办呢,就看返回值$?。[root@svr5~]#rpm-q[root@svr5~]#echo0[root@svr5~]#rpm-qpackagenginxisnot[root@svr5~]#echo1[root@svr5~]#rpmqhttpd&>/dev/null&&echo||echo[root@svr5~]#rpmqnginx&>/dev/null&&echo||echo步骤二:识别文件 的状1)-e判断对象是否存在(不管 [root@svr5~]#e"/usr/src/"&&echo||echo[root@svr5~]#e"/etc/fstab"&&echo||echo[root@svr5~]#e"/home/nooby"&&echo||echo2)-d判断对象是否 [root@svr5~]#[-d"/usr/src/"]&&echo" "||echo"不 是[root@svr5~]#[-d"/etc/fstab"]&&echo" "||echo"不 [root@svr5~]#[-d"/home/nooby"]&&echo" "||echo"不 3)-f(存在且是文件[root@svr5~]#f"/usr/src/"&&echo||echo[root@svr5~]#f"/etc/fstab"&&echo||echo[root@svr5~]#f"/home/nooby"&&echo||echo4)-r [root@svr5~]#cpinstall.log [root@svr5~]#od-r [root@svr5~]#ls-ld --w-------1rootroot3313912-1110:43[root@svr5~]#r"/tmp/rtest.txt&&echo||echo可 //root仍然可[zengye@svr5~]$r"/tmp/rtest.txt"&&echo||echo [zengye@svr5~]$ls-l-rw-r--r--1zengyezengye12409-2416:44[zengye@svr5~]$r".bashrc"&&echo||echo5)-w [root@svr5~]#od-w [root@svr5~]#ls-l ----------1rootroot3313912-1110:43[root@svr5~]#w"/tmp/rtest.txt&&echo||echo[zengye@svr5~]$ls-l----------1rootroot3313912-1110:52[zengye@svr5~]$w"/tmp/rtest.txt"&&echo||echo[zengye@svr5~]$ls-l-rw-r--r--1zengyezengye12409-2416:44[zengye@svr5~]$w".bashrc"&&echo||echo6)-x[root@svr5~]#od644 [root@svr5~]#ls-l -rw-r--r--1rootroot3313912-1110:52[root@svr5~]#x"/tmp/rtest.txt&&echo||echo[root@svr5~]#od+x [root@svr5~]#x"/tmp/rtest.txt&&echo||echo[root@svr5~]#[root@svr5~]#[$Agt10 -bash:20.4:integerexpressionexpected1)-eq比较两个数是否相等。[root@svr5~]# [root@svr5~]#$Xeq20&&echo||echo[root@svr5~]#$Xeq30&&echo||echo2)-ne[root@svr5~]#$Xne20&&echo||echo[root@svr5~]#$Xne30&&echo||echo3)-gt[root@svr5~]#$Xgt10&&echo||echo[root@svr5~]#$Xgt20&&echo||echo否[root@svr5~]#$Xgt30&&echo||echo否[root@svr5~]#$Xge10&&echo||echo[root@svr5~]#$Xge20&&echo||echo[root@svr5~]#$Xge30&&echo||echo否5)-lt[root@svr5~]#$Xlt10&&echo||echo否[root@svr5~]#$Xlt20&&echo||echo否[root@svr5~]#$Xlt30&&echo||echo[root@svr5~]#$Xle10&&echo||echo否[root@svr5~]#$Xle20&&echo||echo[root@svr5~]#$Xle30&&echo||echo[root@svr5~]#who|wc- 4[root@svr5~]#N=$(who|wc [root@svr5~]#$Ngt5&&||echo[root@svr5~]#$(who|wcl)gt5&&||echoroot。[root@svr5~]#[$USER=="root"]&&echo"YES"||echo[zengye@svr5~]$[$USER=="root"]&&echo"YES"||echo检查当前用户,如果不是root,显示“”,如果是root,显示“欢迎”。[zengye@svr5~]$[$USER!="root"]&&echo""||echo"欢迎"2.[root@svr5~]#[$USER!="root"]&&echo""||echo"欢迎3)-z(空值[root@svr5~]#var1="Tarena";[root@svr5~]#z"$var1"&&echo||echo[root@svr5~]#[-z$var2&&echo||echo空 [root@svr5~]#var2 [root@svr5~]#[-z"$var2"&&echo||echo非 [root@svr5~]#[-z$var3&&echo||echo空 4)-n[root@svr5~]#n"$var2"&&echo||echo[root@svr5~]#n"$var3"&&echo||echo步骤五:多个条件/操作的逻辑组给定条件必须都成立,整个才为真。X1030:[root@svr5~]# [root@svr5~]#[$X-gt10]&&[$X-lt30]&&echo[root@svr5~]#[[$X-gt10&&$X-lt30]]&&echo只要其中一个条件成立,则整个为真。X1030:[root@svr5~]#[[$X-lt10||$X-lt30]]&&echo [root@svr5~]#[-w"/tmp/"]||[-w"/var/spool/"]&&echo使用if本案例要求编写3个S,分别实现以下目标检测 ,若不存在则创检测并判断指定的主机是否可从键盘一个分数,判断成绩分档(优秀、良好、不合格ifthenifthenelseifthenelifthenelseif1;if2;..步骤一:检测 ,若不存在则创 if /media/cdrom[root@svr5~]#vimif[!-d$MOUNT_DIRmkdir-p[root@svr5~]#od+xchkmountdir.sh 4)测试、验证功能[root@svr5~]#ls-ld ls:/media/cdrom:[root@svr5~]# [root@svr5~]#ls-ld drwxr-xr-x2rootroot409612-1115:16[root@svr5~]#[root@svr5步骤二:检测并判断指定的主机是否可执行操作1需要满足的条件:经检测后发现目标主机可通。执行操作2需要满足的条件:经检测后发现目标主机不能通2)ifif[目标主机能通];提示“Hostis提示“Hostis使用命令检测目标主机时,人工可直接判断反馈结果,而却不方便。但是当测试功时,执行状态$?的值为0;而测试失败时,$?的值不为0。因此在S中可以利用这一点来判断目标主机的成败。0.2)、等待反馈的超时秒数(-W3)。比如,检查可通的主机:[root@svr5 -c3-i0.2-W3()56(84)bytesofdata.64bytesfrom:icmp_seq=1ttl=64time=0.13164bytesfrom:icmp_seq=2ttl=64time=0.07664bytesfrom:icmp_seq=3ttl=64time=0.073---statistics--3packetstransmitted,3received,0%packetloss,timerttmin/avg/max/mdev=0.073/0.093/0.131/0.027ms[root@svr5~]#echo 0检查无法通的主机[root@svr5~]#-c3-i0.2-W30(0)56(84)bytesofdata.From5icmp_seq=1DestinationHostFrom5icmp_seq=2DestinationHostFrom5icmp_seq=3DestinationHostUnreachable---0statistics--3packetstransmitted,0received,+3errors,100%packetloss,timepipe[root@svr5~]#echo$? 12.1于是,判断检测的执行状态,采用if双分支结构,目标主机的地址可以通过位置变量$1来供。编写参考如下:[root@svr5~]#vim-c3-i0.2-W3$1&>/dev/nullif[$?-eq0];echo"Host$1isecho"Host$1is[root@svr5~]#od+xhost.sh4)测试、验证功能[root@svr5~]#./host.shHostis[ro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论