b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

shell脚本编程(完结版).pdf

电脑杂谈  发布时间:2019-07-29 07:11:04  来源:网络整理

shell脚本攻略 pdf_shell脚本教程文档pdf_shell脚本 pdf

Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论1Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦目录 预备知识 3 第一节 shell 运算符应用 31. 整数测试运算42. 字符串测试运算43. 文件测试运算54. 逻辑运算5 第二节 在 shell 脚本中进行条件控制 5 第三节 在 shell 脚本中进行 for 循环 7 第四节 在 shell 脚本中进行 while 循环 8 第五节 在 shell 脚本中使用 util 循环 8 第六节 在 shell 脚本中使用函数 8 第七节 shell 脚本之 echo 和 expr 讲解 9 第八节 shell 脚本循环终止之 break 和 continue 10 第九节 shell 脚本之 exit 和 sleep 11 第十节 shell 脚本之 select 循环与菜单 11 第十一节 shell脚本之循环控制 shift 命令 11 第十二节 shell脚本之字符串操作 11 第十三节 shell脚本之数组实现 12 第十四节 shell脚本之脚本调试 12 第十五节 shell脚本之编程小结 12 程序例程 14 习题实训 29 综合实例 311. 需求分析312.系统设计313.程序代码31 声明 35如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论2Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 预备知识 1. shell 脚本语言:把经常使用的 Linux 命令存储在一个文件里面,shell 可以读取这个文件并顺序执行其中的命令,这样的文件被称为脚本文件。

注意:shell脚本按行解释。 2. shell 程序设计中,用 vi 或者 gedit 等编辑器编写的代码并不需要什么后缀名。如果硬要加上,则写上.sh 即可。有一点值得注意,当我们加上后缀之后,编辑器会使用高亮的语法显示,避免我们出错。 3. 编写的过程中,echo 之后的引用为 “`”,即Esc 返回键的下面一个,不要认为是单引号。准确来说,是反单引号。在 shell 命令中,一般用反单引号。 4. 编程结束之后,我们要先赋予文件的执行权利,可以用 sudo chmod 755 file,sudo chmod 777 file 或者 sudo chmod a+x file 来赋予程序的可执行权利。 5. 前面的 1,2 ,3 弄好了之后,就是运行了,直接在终端输入:./file 即可。 6. 不要为了美观,在命令中添加多余的空格,否则会出错。特别是在环境变量PATH,export 等,等号两侧不要加多余的空格。 7. shell 中的全局变量有以下几个:$#: 执行 shell 脚本时的命令行参数,不包括脚本本身$?: 执行上一条 shell 命令的返回值$0: shell 脚本程序自身的名称 8. 用户在自定义变量时,要遵循以下命名规则:首个字符必须是字母(a~z, A~Z )。

中间不能有空格,可以使用下划线(_ )。不能使用标点符号。不能使用 shell 里的关键字(通过 help 命令查看)。 9. 在 Linux 中,自动(或者叫预定义)变量包括$@,$+,$^,$?,$<,$*等。其中(以下内容来源于 Makefile 的讲解),$@表示规则中的目标文件夹集;$+表示所有的依赖文件,以空格隔开,并以出现的先后为顺序,可能包含重复的依赖文件;$^表示所有的依赖文件,以空格隔开,不包含重复的依赖文件;$?表示所有比目标新的依赖目标集合;$<表示第一个依赖文件的名称;$*表示不包括扩展的目标文件名。 第一节 shell 运算符应用 表达式测试包括字符串测试、整数测试、文件测试及逻辑测试。 内置测试命令 test 通常用 test 命令来测试表达式的值,如下:x=5; y=10test $x -gt $yecho $? test 命令可以用方括号“[ ]”来代替:x=5; y=10如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论3Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦[ $x -gt $y ]echo $? 2.x 版本以上的 Bash中可以用双方括号来测试表达式的值, 此时可以使用通配符进行模式匹配,如:name=Tom[ $name = [Tt]?? ]echo $? 或者:[[ $name = [Tt]?? ]]echo $? 检查空值:[ "$name" = "" ][ ! "$name" ][ "X${name}" != "X" ] 1. 整数测试运算test int1 -eq int2: 判断两个数是否相等test int1 -ne int2: 判断两个数是否不相等test int1 -gt int2: 判断整数 1 是否大于整数 2test int1 -ge int2: 判断整数 1 是否大于等于整数 2test int1 -lt int2: 判断整数 1 是否小于整数 2test int1 -le int2: 判断整数 1 是否小于等于整数 2 整数测试也可以使用 let命令或双圆括号 相关操作为:==、!= 、> 、>= 、< 、<= 如:x=1; [ $x -eq 1 ]; echo $?x=1; let "$x == 1"; echo $?x=1; (($x+1>= 2 )); echo $? 两种测试方法的区别:使用的操作符不同let 和 双圆括号中可以使用算术表达式,而中括号不能let 和 双圆括号中,操作符两边可以不留空格 2. 字符串测试运算test -z string: 判断字符串长度是否为 0,即判断字符串是否为空,为空返 回真,非空返回假test -n string: 判断字符串长度是否不为 0 ,即判断字符串是否非空,为空 返回假,非空返回真test str1 =str2:判断两个字符串是否相等test str1!=str2:判断两个字符串是否不等 如:name=Tom; [ -z $name ]; echo $?name2=Andy; [ $name = $name2 ] ; echo $?如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论4Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 3. 文件测试运算test -r filename: 判断用户对文件 filename 是否有读权限test -w filename: 判断用户对文件 filename 是否有写权限test -x filename: 判断用户对文件 filename 是否有可执行权限test -f filename: 判断文件 filename 是否为普通文件test -d filename: 判断文件 filename 是否为目录test -c filename: 判断文件 filename 是否为字符设备test -b filename: 判断文件 filename 是否为块设备test -s filename: 判断文件 filename 是否大小不为 0test -t fnum: 判断与文件描述符 fnum(默认值为1)相关的设备是否是一个终端设备 4. 逻辑运算test 表达式 1 -a 表达式 2 :与(and )逻辑判断。

如果两个表达式同时为真则返回真,否者返回假。test 表达式 1 -o 表达式 2 :或(or ) 逻辑判断。只要两个表达式有一个为真则返回真,否则返回假。 如:x=1; name=Tom;[ $x -eq 1 –a –n $name ]; echo $? 注:不能随便添加括号 第二节在 shell 脚本中进行条件控制 1. Bash 中允许测试两种类型的条件:命令成功或失败,表达式为真或假 2 .任何一种测试中,都要有退出状态(返回值),退出状态为 0表示命令成功或表达式为真,非 0则表示命令失败或表达式为假。 3 .状态变量 $?中保存命令退出状态的值 if 表达式有:if [ 条件表达式 1 ]thenif [ 条件表达式 2 ]then…………else…………fi命令串;else命令串;fi如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论5Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 注意:上述 if 语法中,中括号“[]” 中的内容用于进行条件测试。使用”[]“进行条件测试时,要注意空格的使用。在 if 与”[“ 间要有空格,在”[“与后面的条件表达式之间要有空格,在”]“与前面的条件表达式之间也要有空格。

shell脚本攻略 pdf_shell脚本 pdf_shell脚本教程文档pdf

2、功能: 测试一个条件并可能使程序终止,用法是:assert(expr),assert的作用是先计算表达式expr,如果其值为假(即为0),那么它会输出信息并终止程序的执行,其实就相当于一个if语句:。在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。表达式3)执行表达式1,判断条件2是否为真则执行循环体语句还有表达式3,然后再执行表达式2进行判断,直到表达式2为假跳出循环执行下面的语句,而for(。

2. 如果 expr 没有找到匹配的模式,则执行缺省值 “ *) ” 后面的命令块 ( 类似于 if中的 else ) ; “ *) ” 可以不出现。3. 所给的匹配模式 pattern中可以含有通配符和“ | ” 。4. 每个命令块的最后必须有一个双分号shell脚本 pdf,可以独占一行,或放在最后一个命令的后面。5. 一般来说,在条件判断中,ifthen……[else]……if,(else 可以不要) ,是成对出现的,也是遵循 C 语言中 if 的就近原则,即 else、fi 都是与其最近相邻的if 配对的。对于 case,也是类似 C 语言中的 switch 语句,参照 switch 理解,每一个 case 一定有一个 esac 与之配对。 第三节在 shell 脚本中进行 for 循环 for 的第一种形式:for var in listdo命令串done 说明: list: 列表,可以是由空格分隔的变量($a $b )或者是值(1 2 3 等)。对于 list 中的每一项,都将循环一次 var : 每次循环的值。对于 list 中的每一项都要进行一次循环,而每次循环时,就取出 list 中的第几项放在var 中,可以在命令串中通过$var 的方式进行引用 循环执行过程:执行第一轮循环时,将 list中的第一个词赋给循环变量,并把该词从 list中删除,然后进入循环体,执行 do和 done 之间的命令。

下一次进入循环体时,则将第二个词赋给循环变量,并把该词从 list中删除,再往后的循环也以此类推。当 list中的词全部被移走后,循环就结束了。 for 的第二种形式:for vardo命令串done 说明:与第一种方式相比,少了 in list 项。此时,for 循环省略了 list,list 值由当前 脚本程序的命令行参数代替。也就是说,在这种情况下,没循环一次,var 中存 储的就是一个命令行参数。如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论7Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦对于 for 语句,我的理解是,如果没有 in list,则循环参数则由命令行带参使 用,即以命令行参数为 for 循环值列表。 第四节在 shell 脚本中进行 while 循环 在某些情况下,需要依据某个条件进行判断,如果条件为真则继续循环,否则结 束循环,这种情况下,就需要使用 while 循环。while 循环是当某个判定条件的 值为假时退出循环。 语法如下:while 条件表达式do命令串;done 执行过程:先执行条件表达式,如果其退出状态为 0 ,就执行循环体。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-116634-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 侯焕玲
      侯焕玲

      日本海自完全没有战斗机

    • 王方方
      王方方

      屌丝也不会经常喝

    每日福利
    热点图片
    拼命载入中...