欢迎来到天天文库
浏览记录
ID:41595383
大小:100.12 KB
页数:6页
时间:2019-08-28
《Linux操作系统(RHEL7/CentOS7)72Shell程序设计的流程控制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、7.2Shell程序设计的流程控制7.2.1复合结构bash«
2、«可以使用一对花括号“{}”或圆括号“()”将多条命令复合在一起,使它们在逻辑上成为一条命令。1.使用“{}”注意:“{”之后要有一个空格,“}”之前要有一个分号。2.使用“(尸注意:“(”之后的空格可有可无,“)”之前的分号可有可无。实例7・6使用复合结构[rootolocalhost-readSTR1STR2STR3abedefghi(rootalocalhostXUM1=1;NIM2=2[rootelocalhost*{echoSSTR1[rootelocalhost*]#expr
3、SNUM1+SNUM2>echoSSTR23>echoSSTR3;}(rootalocalhost"掙(NCM2=5;exprSNCMl十SNUM2)nbc6def(rootelocalhost*]*exprSMM1+SNUM2ghi3[rootclocalhost*1-{echoSSTR1:echoSSTR2:cchoSSTR3;}(rootelocalhost*]#(NUM2=5;exprSNCM1+SNUM2)abe6def[rootelocalhost*]#(NUM2=5;exprSNUM1+SXUM2:)shi6[rootelocalhos
4、t*
5、={echoSSTR1echoSSTR2echoSSTR3;}Irootalocalhost*1=exprSXLM1十SNIM2abeechodefecho£hi3[rootelocalhost
6、Irootalocalhost*1*(图7・怡“{}”复合结构图7・19“()”复合结构7.2.2条件判断1・if条件语句注意:由于ShelI对命令中的多余的空格不作任何处理,读者最好对自己的程序采用统一的缩进格式,以增强程序的可读性。if条件命令串thenthen条件为滇吐的命令甲else〃务修彼时的操作if秦侔命令串then条件为真时的命令串fli
7、f条件命令串then命令串elif条件命令串then命令串ellf条件命令串then命令串图7・22if嵌套图7-23else・if结构casestringinpatternl)命令串;;pattern2)命令串訂•••°其他命令串esac图7-24case语句“条件命令串if条件命令串then条件为真时的命令串fithen条件为真时的命令串else条件为假吋的命令串fi图7-20if-thenig句图7-21if-then-elsei^句2.if嵌套及elif-then结构3.case条件选择#!/bin/bash#thisisaexamplefo
8、rifcd/root/txtfile/if[-fztgl.txt]thenechoztg1・txtisafile:catztgl.txtelif[・d/root/txtfile]thenechoin/root/txtfileis:dir/root/txtfile图7-25if.shShell脚木文件图7-26case.shShell脚木文件实例7-8使用case语句编写一个Shell程序[rootaHocalhost~]器bash/root/sh_script/if.shztgl.txtisafile:这是文件ztgl.txt中的内容[roote-l
9、ocalhost~mvtxtfilc/ztgl.txttxtfilc/ztg1・txt・bac[rootflplocalhostbash/root/sh_script/if・shin/root/txtfileis:bac.ztg•txtbac.ztg・txt*ztgl.txt・bacztg2.txt[root&localhost*J2?I图7-27if.sh的执行[rootfilocalhost~1=bash/root/sh_script/case・shpleasegiveyourchoicetodisplayafile:1)displayztgl.
10、txt2)displayztg2.txtenteryourchoice:2这是文件ztg2.txt中的内容[rootClocalhostbash/root/sh_script/case.shpleasegiveyourchoicetodisplayafile:1)displayztgl.txt2)displayztg2.txtenteryourchoice:3wrong[root©localhostI图7-28case.sh的执行f叶变量名"参数1参数2…咖do介个命令行done图7-29for语句#!/bin/bash#thisisaexample
11、forforfornumin123456doecho的平方:exprSnum*Snum#{echo$num
此文档下载收益归作者所有