欢迎来到天天文库
浏览记录
ID:14868551
大小:41.00 KB
页数:19页
时间:2018-07-30
《linux操作系统shell编程控制结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、linux操作系统shell编程控制结构shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select.1、expr计算整数变量值格式:exprarg例子:计算(2+3)×4的值1、分步计算,即先计算2+3,再对其和乘4s=`expr2+3`x=`expr$s*4`2、一步完成计算:expr`expr2+3`*4–说明:运算符号和参数之间要有空格分开;通配符号(*),在作为乘法运算符时要用、“”、‘’符号修饰–:expr3*2
2、expr3“*”2expr3‘*’2`(反引号)与键盘上的~同一个键上的符号[fsy@localhost~]$s=`expr2+3`[fsy@localhost~]$echo$s5[fsy@localhost~]$expr$s*420[fsy@localhost~]$expr`expr2+3`*420[fsy@localhost~]$expr2*36[fsy@localhost~]$expr2"*"36[fsy@localhost~]$expr2'*'36[fsy@localhost~]$expr2*3expr:
3、语法错误[fsy@localhost~]$2、let命令格式:letarg1[arg2......]说明:与expr命令相比,let命令更简洁直观[]表示可以有多个参数,argn(n=1,2…)运算符与操作数据之间不必用空格分开,但表达式与表达式之间必须要用空格分开当运算符中有<、>、&、
4、等符号时,同样需要用引号(单引号、双引号)或者斜杠来修饰运算符–例子:计算(2+3)×4的值[fsy@localhost~]$lets=(2+3)*4[fsy@localhost~]$echo$s20[fsy@localhost~]
5、$3、for语句——坑爹的开始......和其他语言的for不同!对一组参数进行一个操作语法格式:for变量in列表do命令行(通常用到循环变量)done说明:–“列表”为存储了一系列值的列表,随着循环的进行,变量从列表中的第一个值依次取到最后一个值;–do和done之间的命令通常为根据变量进行处理的一系列命令,这些命令每次循环都执行一次;–如果“in列表”部分省略掉,Bash则认为是“in$@”,即执行该程序时通过命令行传给程序的所有参数的列表。例1、自定义列表#!/bin/bashforvarinonetwothr
6、eefourfivedoecho------echo'$varis'$vardone运行输出:------$varisone------$varistwo------$varisthree------$varisfour------$varisfive例2、以命令返回值作为列表#!/bin/bashforvarin`ls`doecho-----echo$vardone运行输出:-----abb-----abc-----a.out-----a.sh-----b.sh-----hello.c-----scripts----
7、-例3、命令行参数指定为列表中的数值#!/bin/bashforvardoecho"It's$var"done运行输出:[fsy@localhost~]$shc.shabcdIt'saIt'sbIt'scIt'sd4、while语句语法格式:while表达式do命令行done说明:–while循环中,只要条件为真,就执行do和done之间的循环命令;–避免生成死循环。例如:#!/bin/bashnum=1while[$num-le10]doecho-e"tthenumis$num"letnum=num+1done运行
8、输出:thenumis1thenumis2thenumis3thenumis4thenumis5thenumis6thenumis7thenumis8thenumis9thenumis105、until语句语法格式:unitil表达式do命令行done说明:–until循环中,只要条件不为真,就执行do和done之间的循环命令,或者说,在until循环中,一直执行do和done之间的循环命令,直到条件为真;–避免生成死循环。例:计算1到10的和#!/bin/bashsum=0num=10untiltest$num-eq
9、0dosum=`expr$sum+$num`num=`expr$num-1`doneecho"sum=$sum"运行输出sum=556、shift语句shift语句:将变量的值依次向左传递,并形成一组新的参数值–例:位置变量当前值为:1=file12=file23=file3–执行一次shift后为:1=file22=file3还
此文档下载收益归作者所有