当前位置: 首页 > news >正文

网站开发使用的开发工具html网页设计毕业设计作品

网站开发使用的开发工具,html网页设计毕业设计作品,宿迁网站建设价格低,河北省建设厅网站查询目录 一、脚本函数 1.1 创建函数 1.2 使用函数 二、函数返回值 2.1 默认的退出状态码 2.2 使用return命令 2.3 使用函数输出 三、在函数中使用变量 3.1 向函数传达参数 3.2 在函数中处理变量 四、数组变量和函数 4.1 向函数中传递数组 4.2 从函数中返回数组 五、函数…目录 一、脚本函数 1.1 创建函数 1.2 使用函数 二、函数返回值 2.1 默认的退出状态码 2.2 使用return命令 2.3 使用函数输出 三、在函数中使用变量 3.1 向函数传达参数 3.2 在函数中处理变量 四、数组变量和函数 4.1 向函数中传递数组 4.2 从函数中返回数组 五、函数递归 一、脚本函数 1.1 创建函数 在bash shell脚本中创建函数的语法有两种。第一种是使用关键字function随后跟上分配给该代码块的函数名 function name {commands } name 定义了该函数的唯一名称。脚本中函数名不能重复。 第二种创建函数的方法 name() {commands } 函数名后的空括号表明正在定义的是一个函数。 1.2 使用函数 要在脚本中使用函数只需写出函数名即可。 函数定义不一定非要放在shell脚本的最开始部分但是要在调用函数之前定义函数。 如果定义了同名函数那么新定义的就会覆盖函数原先的定义而这一切不会有任何错误信息。 二、函数返回值 2.1 默认的退出状态码 在默认情况下函数的退出状态码是函数中最后一个命令返回的退出状态码。函数执行结束后可以使用标准变量 $? 来确认函数的退出状态码 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {echo 该条命令正常执行退出状态码是0ls notexist_file } echo 测试函数 func1 echo 函数退出状态码是$? [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 测试函数 该条命令正常执行退出状态码是0 ls: cannot access notexist_file: No such file or directory 函数退出状态码是2 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# 该函数的退出状态码是 2 因为函数中的最后一条命令执行失败了。但是你无法知道该函数中其他命令是否执行成功。看下面例子 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {ls notexist_fileecho 该条命令正常执行退出状态码是0 } echo 测试函数 func1 echo 函数退出状态码是$? [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 测试函数 ls: cannot access notexist_file: No such file or directory 该条命令正常执行退出状态码是0 函数退出状态码是0 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# 这次由于函数中最后一条命令执行成功所以函数的退出状态码是 0 不过其中的其他命令执行失败。使用函数默认退出状态码是一种危险的行为。 2.2 使用return命令 bash shell会使用return命令以特定的状态码退出函数。return 命令允许指定一个整数值作为函数的退出状态码。但是用这种方法返回退出状态码一定注意两个问题1函数执行一结束就立刻读取返回值2退出状态码必须介于0-255如下所示 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {read -p 请输入一个整数 valuereturn $[ $value * 2 ] } func1 echo 函数退出状态码是$? [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 请输入一个整数4 函数退出状态码是8 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 请输入一个整数200 函数退出状态码是144 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# 2.3 使用函数输出 正如可以将命令的输出保存到 shell 变量中一样也可以将函数的输出保存到 shell 变量中如下 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {read -p 请输入一个整数 valueecho $[ $value * 2 ] } result$(func1) echo 函数退出状态码是$result [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 请输入一个整数255 函数退出状态码是510 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]#注意函数中 echo $[ $value * 2 ]而非return $[ $value * 2 ] 这个例子演示了一个不易察觉的技巧。注意函数func1实际上输出了两条信息read 命令输出了一条简短的提示消息。bash shell 非常聪明并不将其作为STDOUT输出的一部分而是直接将其忽略。如果用 echo  语句生成这条消息来询问用户那么他就会与输出值一起被读入shell 变量。 注意 这种方法还可以返回浮点值和字符串这使其成为一种获取函数返回值的强大方法。 三、在函数中使用变量 3.1 向函数传达参数 注意  在脚本中调用函数时必须将参数和函数名放在同一行。 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {if [ $# -eq 0 ] || [ $# -gt 2 ]thenecho -1elif [ $# -eq 1 ]thenecho $[ $1 $1 ]elseecho $[ $1 $2 ]fi } echo -n 传入2个参数 value$(func1 10 11) echo $value echo -n 传入1个参数 value$(func1 10) echo $value echo -n 传入3个参数 value$(func1 10 11 12) echo $value [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 传入2个参数21 传入1个参数20 传入3个参数-1 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]#要在函数中使用脚本的命令行参数必须在调用函数时将其手动传入 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 1 2 function.sh: line 4: : syntax error: operand expected (error token is )[rootiZbp1ir1vzqwzkdy7mvjthZ ~]## 手动传入脚本的命令行参数[rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {echo $[ $1 $2 ] } echo $(func1 $1 $2)[rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 12 42 54 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]#3.2 在函数中处理变量 无须在函数中使用全局变量任何在函数内部使用的变量都可以被声明为局部变量。为此只需在变量声明之前加上 local 关键字如下示例 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {temp$[ $value 6 ]result$[ $temp * 2 ] } temp4 value6 func1 echo The result is $result if [ $temp -gt $value ] thenecho temp is larger elseecho temp is smaller fi [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh The result is 24 temp is larger [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# 输出的结果是temp大于values就是因为函数中使用了temp变量因此它的值在脚本中受到了影响产生了意想不到的结果。一种解决的办法是函数中使用局部变量如下示例 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {local temp$[ $value 6 ]result$[ $temp * 2 ] } temp4 value6 func1 echo The result is $result if [ $temp -gt $value ] thenecho temp is larger elseecho temp is smaller fi [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh The result is 24 temp is smaller [rootiZbp1ir1vzqwzkdy7mvjthZ ~]#四、数组变量和函数 4.1 向函数中传递数组 向脚本函数传递数组变量的方法有点难以理解。将数组变量当作单个参数传递的话他不起作用。 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {echo 传递的参数是$this_arry$1echo 传入的数组是${this_arry[*]}} arry(1 2 3 4) echo 原始数组是${arry[*]} func1 $arry [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 原始数组是1 2 3 4 传递的参数是1 传入的数组是1 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# 可以看出将数组变量作为函数参数进行传递则函数只会提取数组变量的第一个元素。要解决这个问题必须将数组变量拆解成多个数组元素然后将这些数组元素作为函数参数传达。最后在函数内部将所有的参数重组为一个新的数组变量。示例如下 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {echo 传递的参数是$local new_arry(echo $)echo 新数组是${new_arry[*]} } arry(1 2 3 4) echo 原始数组是${arry[*]} func1 ${arry[*]} [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 原始数组是1 2 3 4 传递的参数是1 2 3 4 新数组是1 2 3 4 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# 4.2 从函数中返回数组 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {local org_arry(echo $)local ielements$[ $# - 1 ]for (( i0;i$elements;i ))dolocal new_arry[$i]$[ ${org_arry[$i]} * 2 ]doneecho 新数组是${new_arry[*]} } arry(1 2 3 4) echo 原始数组是${arry[*]} func1 ${arry[*]} [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 原始数组是1 2 3 4 新数组是2 4 6 8 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# 五、函数递归 局部函数变量的一个特性是自成体系。除了获取函数参数外自成体系的函数不需要任何外部资源。这个特性使得函数可以递归调用也就是说函数可以调用自己得来的结果。递归函数通常有一个最终可以迭代到的基准值。 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# cat function.sh #! /bin/bashfunc1() {if [ $1 -eq 1 ]thenecho 1elselocal temp$[ $1 -1 ]local result$(func1 $temp)echo $[ $result * $1 ]fi } read -p 阶乘数 value result$(func1 $value) echo $value阶乘的结果是$result [rootiZbp1ir1vzqwzkdy7mvjthZ ~]# bash function.sh 阶乘数6 6阶乘的结果是720 [rootiZbp1ir1vzqwzkdy7mvjthZ ~]#
http://www.w-s-a.com/news/267388/

相关文章:

  • 福州网站建设团队淘宝联盟网站怎么建设
  • 福州企业网站建站模板国内黑色风格的网站
  • 好看的网站首页设计android移动开发
  • 域名注册完成后如何做网站域名 删除 wordpress
  • wordpress xml导入大小东莞seo优化方案
  • 网站建设效益网站销售怎么做的
  • 利用网站空间做代理设计方案的格式范文
  • 无锡建设工程质量监督网站遵义做手机网站建设
  • 衡阳商城网站制作ps做网站首页规范尺寸
  • 微信网站应用开发营销推广的方案
  • 广州做网站商城的公司制作一个app的完整流程
  • 湖南城乡建设厅网站163注册企业邮箱
  • 做网站怎么调整图片间距织梦做的网站如何去掉index
  • 凡科网免费建站步骤及视频网页设计基础教程第二版课后答案
  • 建设一个旅游网站毕业设计企业网站要更新文章吗
  • 做网站需要简介中山网站设计公司
  • 网站怎么做导航栏微信公众号官网登录
  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.电子商城网站开发
  • 百度网站怎么建设河北省工程造价信息网官网
  • 阿里云网站模板网页设计的合适尺寸是多少
  • 做小程序和做网站哪个好让别人做网站推广需要多少钱
  • 做外贸的几个网站查询网域名解析
  • 酒泉如何做百度的网站seo研究中心好客站
  • 网站设计建设平台户县做网站
  • 一元云购网站开发wordpress博客空间
  • 深圳高端网站建设公司排名如何搭建局域网服务器
  • 照片管理网站模板高端网站开发哪家好
  • 黄冈网站制作wordpress为什么不能显示域名
  • 做网站设计怎么进企业电子商务网站建设与管理教材
  • 设计广告公司网站建设网站开发技术选择