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

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

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

执行到关键字 done 后,回到循环的顶部,while命令再次检查条件表达式的退出状态。以此 类推,循环将一直继续下去,直到条件表达式的退出状态非 0为止。 第五节在 shell 脚本中使用 util 循环 util 循环和 while 循环实现的功能基本相同,不过 util 是判定条件为假时才继续 循环。 语法如下:util 条件表达式do命令行;done 第六节在 shell 脚本中使用函数 对于在脚本中经常重复使用的功能模块,可以将其封装成函数。在 shell 脚本中 使用函数,可以使程序代码更加简洁,程序的可读性更好。shell 脚本中函数的 定义有如下两个:函数名(){……} 或者:function 函数名(){……} 在调用函数时,可以向函数传递任意个数的参数。在函数中可以通过位置参数 $1,$2 的方式进行引用。函数也可以有返回值,可以通过查询全局变量$?的值获 取函数的返回值。如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论8Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 第七节 shell 脚本之 echo 和 expr 讲解 echo 命令 功能说明:显示文字。

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

语 法:echo [-ne][字符串]或 echo [--help][--version] 补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符 隔开, 并在最后加上换行号。-n 不进行换行-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字 输出 \n 换行 \b 空格...-n 不要在最后自动换行-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输 出:\a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;\f 换行但光标仍旧停留在原来的位置;\n 换行且光标移至行首;\r 光标移至行首,但不换行;\t 插入 tab ;\v 与\f 相同;\\ 插入\字符;\nnn 插入 nnn (八进制)所代表的ASCII 字符;--help 显示帮助--version 显示版本信息 expr 命令 生成随机数的特殊变量:echo $RANDOM范围是: [0, 32767] expr :通用的表达式计算命令 注意:表达式中参数与操作符必须以空格分开,表达式中的运算可以是算术运算,比较运算,字符串运算和逻辑运算 1.expr 命令一般用于整数值,但也可用于字符串。

如:expr 5 % 3expr 5 \* 3 # 乘法符号必须被转义 2 .expr 也是一个手工命令行计数器。如: $expr 10 + 10打印:20 $expr 30 / 3打印:10 $expr 30 / 3 / 2 打印: 5 注意:使用乘号时,必须用反斜线屏蔽其特定含义。因为 shell 可能会误解显 示星号的意义(shell 中的反斜杠“\”,有大部分是这种转意的意思)。如: expr 30 \* 3打印:90如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论9Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 3 .数值测试。可以用expr 测试一个数。如果试图计算非整数,将返回错误。如: $rr=1.1 $expr $rr + 1以上两句将打印:expr: non-numeric argument $rr=2 $expr $rr + 1以上两句将打印:3这里需要将一个值赋予变量(不管其内容如何),进行数值运算,并将输出 导入 dev/null,然后测试最后命令状态,如果为 0,证明这是一个数,其他则表 明为非数值。

(1)*(p+1)字符不为'*',则只需比较*s字符与*p字符,若相等则递归到*(s+1)字符串与*(p+1)字符串的比较,否则无法匹配。查找任何一个不包含在strcharset串中的字符 (字符串结束符null除外) 在string串中首次出现的位置指针. 返回一个指针, 指向非strcharset中的字符在string中首次出现的位置.。查找任何一个不包含在strcharset串中的字符 (字符串结束符null除外) 在string串中首次出现的位置序号. 返回一个整数值, 指定在string中全部由characters中的字符组成的子串的长度. 如果string以一个不包含在strcharset中的字符开头, 函数将返回0值.。

如: $value=accounts.doc $expr $value : '.*' 在 expr 中可以使用字符串匹配操作,这里使用模式. d o c 抽取文件附属名。 $expr $value : '(.*).doc' 则会打印:accounts 对于 expr 的解释,估计有人会说,写得很罗嗦。我想说的是,expr 的确很重 要!在后面的脚本学习中,对于大型程序,很多地方用到了 expr 。 第八节 shell 脚本循环终止之 break 和 continue break [n]1.用于强行退出当前循环。2.如果是嵌套循环,则 break命令后面可以跟一数字 n ,表示退出第 n重循环(最里面的为第一重循环)。 continue [n]1.用于忽略本次循环的剩余部分,回到循环的顶部,继续下一次循环。2.如果是嵌套循环,continue命令后面也可跟一数字 n ,表示回到第 n重循 环的顶部。如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论10Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 第九节 shell 脚本之 exit 和 sleep exit 命令: exit nexit 命令用于退出脚本或当前进程。

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

然后我们开始循环,命令行参数列表被一个接一个地被赋值给变量$file。$ 显示最后命令的退出状态,0表示无错误(这个变量也常常用来打印输出,在脚本调试时标记某个shell命令或某个函数是否正确执行,但是要注意,$ 记载的是最近的函数或命令的退出状态,因此打印时应该立即打印以获得正确的信息)。set 后面跟的是一个变量,这里变量指定为qingsword,而"qingsword=wscript.createobject("wscript.shell")",可以理解为将一个脚本解析引擎赋值给这个变量,或者理解为执行这一句之后,就可以使用"qingsword.run"输入一些脚本命令,让系统执行。

2.参量列表 list一旦被移动,最左端的那个参数就从列表中删除。while 循环遍历位置参量列表时,常用到 shift 。 例如:./doit.sh a b c d e f g h./shft.sh a b c d e f g h 第十二节 shell 脚本之字符串操作 字符串操作:${#var}返回字符串变量 var的长度${var:m}返回${var}中从第m 个字符到最后的部分,其中,m 的取值从0 到${#var}-1,下同${var:m:len} 返回${var}中从第m 个字符开始,长度为 len 的部分如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论11Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦${var#pattern}删除${var}中开头部分与pattern 匹配的最小部分${var##pattern}删除${var}中开头部分与pattern 匹配的最大部分${var%pattern}删除${var}中结尾部分与pattern 匹配的最小部分${var%%pattern}删除${var}中结尾部分与pattern 匹配的最大部分${var/old/new}用 new 替换${var}中第一次出现的old${var//old/new}用 new 替换${var}中所有的old(全局替换) 注:pattern ,old 中可以使用通配符, 第十三节 shell 脚本之数组实现 Shell 中的数组用下面的方式来定义: $varname[0]=value1 $varname[1]=value2 用$echo ${varname[0]}方式来引用 第十四节 shell 脚本之脚本调试 1. sh –x 脚本名 说明:该选项可以使用户跟踪脚本的执行,此时 shell 对脚本中每条命令的处理 过程为:先执行替换,然后显示,再执行它。

shell显示脚本中的行时,会在行 首添加一个加号 “ + ” 。 2. sh –v 脚本名 说明:在执行脚本之前,按输入的原样打印脚本中的各行,打印一行执行一行。 3. sh –n 脚本名 说明:对脚本进行语法检查,但不执行脚本。如果存在语法错误,shell 会报错,如果没有错误,则不显示任何内容。 第十五节 shell 脚本之编程小结 变量:1. 局部变量、环境变量(export、declare -x )2. 只读变量、整型变量例:declare -i x; x="hello"; echo $x # 打印 03. 位置参量($0,$1,...,$*,$@,$#,$$,$? )4. 变量的间接引用(eval, ${!str} )例:name="hello"; x="name"; echo ${!x} # 打印 hello5. 命令替换(`cmd`、$(cmd) )6. 整数运算declare 定义的整型变量可以直接进行运算,否则需用 let命令或 $[...]、$((...)) 进行整数运算。 输入输出:1. 输入:readread var1 var2 ...如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论12Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 read -> REPLY read –p "提示" -> REPLY 2. 输出:printf如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论13Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 程序例程 1. autoftp #!/bin/bash ftp -n 65<<! # 使用非交互模式的 ftp,用!作分隔符 user abc password# 用户名和密码 get $1# 以命令行参数 1 作为要获取的文件名 bye# 退出 ftp !# !分隔符,命令结束 2. computesum # 从命令行输入多个以空格分隔的数字,输出全部数字的和 #!/bin/bash sum=0 for ccc doif [ `expr $ccc \>= 0` = 1 ]thenecho -e "$ccc+\c"# \c 表示输出加数之后不按<Enter>键sum=`expr $sum + $ccc`fi doneecho -e "\b=$sum"# \b 表示退格 3. diff # shell 编写的 diff 脚本,比较从命令行输入的两个整数的值是否相等#!/bin/bashif test $1 = $2thenecho $1=$2elseecho $1!=$2fi # 在命令的逻辑判断语句中,用 fi 表示结束 if 语句 4. echodate#!/bin/bashecho `date +%y%m%d`如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论14Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦 5. fact.sh # 从命令行输入数字,计算该数字的阶乘并输出 # 函数中使用递归,函数的两个参数$1=本次阶乘因子, # $2=上次阶乘结果 #!/bin/bash function fact() {# 如果阶乘因子等于 0,表明阶乘计算完成,输出结果返回if [ $1 -eq 0 ]thenecho $2returnfi # 将当前的阶乘因子与上一次递归计算所得的阶乘结果相乘, # 并将结果存放于变量 t 中t=`expr $2 \* $1`# 调用 expr 计算两个数的积 #递归调用fact `expr $1 - 1` $t# 递归调用当前函数 } # 调用函数 fact 计算阶乘,第一个参数为从命令行输入的要求结成的变量的值 # 第二个参数是初始的递归结果,设为 1 fact $1 1# 调用函数 fact 计算命令行参数 1 的阶乘 6. sum #!/bin/bash sum=`expr $1 + $2`# 在使用 expr 进行计算时shell脚本 pdf,运算符两边应该加空格 echo $1+$2=$sum 7. testcmdline # 从命令行输入多个以空格分隔的参数,使用 while 循环枚举全部参数#!/bin/bashn=1# 初始化变量 n# while 循环,测试$*是否为空# $*包含了全部命令行参数,在循环体中调用 shift 向参# 数向左移除,导致$*最终变为空而循环结束while [ -n "$*" ]doecho 第$n 个参数=$1n=`expr $n + 1`如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论15Shell 脚本编程学习笔记2013 年 5 月 2 日 追风~忆梦shiftdone #注意:在循环体中使用 shift 将命令行参数左移,这样,没循环一次,命令行参 #数将从左侧被移走一个,是原来处于第二位命令行参数变成第一位。


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

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

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