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

如何快速学成网站开发网页传奇怎么开

如何快速学成网站开发,网页传奇怎么开,网址大全黄页男女,拓者设计吧室内效果图轻奢目录 1. 求两数之和 整数之和 浮点数之和 2. 计算1-100的和 for...in C风格for循环 while...do until...do while和until的区别 关系运算符 break与continue的区别 3. shell函数基础知识 函数定义 函数名 函数体 参数 返回值 return返回值的含义 return与… 目录 1. 求两数之和 整数之和 浮点数之和  2. 计算1-100的和 for...in C风格for循环 while...do until...do while和until的区别 关系运算符 break与continue的区别  3. shell函数基础知识 函数定义  函数名 函数体 参数 返回值 return返回值的含义 return与echo返回值的区别 4. 自定义库函数 定义库函数 调用库函数 执行结果 5. 递归函数 递归法实现阶乘函数 改用循环实现 1. 求两数之和 整数之和 shell程序的数字类型只有整数类型一种并不支持浮点数。如 hannHannYang:~$ cat sum.sh #!/bin/bash# 读取第一个数 echo 请输入第一个数 read a# 读取第二个数 echo 请输入第二个数 read b# 计算两个数的和 sum$(( a b ))# 输出结果 echo 这两个数的和为$sum hannHannYang:~$ bash sum.sh 请输入第一个数 5 请输入第二个数 3 这两个数的和为8 hannHannYang:~$ 浮点数之和  在shell编程中浮点数只能被用作字符串来操作脚本语法本身不提供浮点数的操作方法但可以调用bc, awk等外部命令来计算并返回结果。如 hannHannYang:~$ cat sum2.sh #!/bin/bashnum13.14 num22.72# 计算和 sum$(echo $num1 $num2 | bc) echo $num1 $num2 $sumsum$(echo $num1 $num2 | awk {print $1$2}) echo $num1 $num2 $sum hannHannYang:~$ bash sum2.sh 3.14 2.72 5.86 3.14 2.72 5.86 2. 计算1-100的和 用1~100累和的例子示例循环结构的各种语句的写法 for...in hannHannYang:~$ sum0;for i in {1..100};do let sumi;done;echo $sum C风格for循环 hannHannYang:~$ sum0;for ((i1; i100; i));do let sumi;done;echo $sum while...do sum0 # 初始化变量sum为0 i1 # 初始化计数器i为1 while [ $i -le 100 ]; do # 当计数器i小于等于100时执行循环体let sumi # 将当前整数累加到sum中i$((i1)) # 计数器自增1 done # 结束循环 echo $sum # 打印出变量sum的值 until...do sum0 # 初始化变量sum为0 i1 # 初始化计数器i为1 until [ $i -gt 100 ]; do # 当计数器i大于100时执行循环体let sumi # 将当前整数累加到sum中i$((i1)) # 计数器自增1 done # 结束循环 echo $sum # 打印出变量sum的值 while和until的区别 while循环是当条件测试为真时执行为假时退出循环 until循环是当条件测试为假时执行为真时退出循环 while A; do 等价于 until not A; do until A; do 等价于 while not A; do while [ ! $i -gt 100 ]; do   until [ $i -gt 100 ]; do until [ ! $i -le 100 ]; do   while [ $i -le 100 ]; do 关系运算符 -eq    equal 即 检测两个数是否相等相等返回 true。 -ne    not equal 即 !检测两个数是否不相等不相等返回 true。 -gt    great than 即 检测左边的数是否大于右边的如果是则返回 true。 -lt     less than 即 检测左边的数是否小于右边的如果是则返回 true。 -ge    great equal 即检测左边的数是否大于等于右边的如果是则返回 true。 -le    less equal即检测左边的数是否小于等于右边的如果是则返回 true。 break与continue的区别  break语句用于退出本层循环当执行到break会立即跳出当前循环执行后续代码。 在多层嵌套循环中break只会跳出最近的一层循环。 continue语句用于结束本次循环跳过本次循环中剩余的代码直接进入下一次循环。 在多层嵌套循环中continue只会跳过最近的一层循环。 两种语句的基本用法与其它语言的基本一样不另举例说明。 3. shell函数基础知识 函数定义  函数名 Shell函数用关键字 function 声明跟在后面的 name 即函数名。声明后就用函数名 [参数]来调用函数。function 非必须也能用函数名加一对括号 name() { ... } 来声明定义函数。 函数体 函数名后的 { Commands; } 即函数体是实现函数功能的主体。 参数 Shell函数可以通过参数接收输入的值。在函数定义时可以在括号中指定参数列表。参数可以在函数体中使用也可以通过特殊变量$#获取函数的参数个数通过特殊变量$获取所有的参数。 返回值 Shell函数可以有一个返回值可以使用return语句返回一个值。返回值的范围是0到255之间0表示成功非零值表示错误。如果函数中没有return语句或者使用exit命令退出函数则函数的返回值为退出命令的返回值。 如一个计算2数之和的函数 #!/bin/bash function add() {local a$1local b$2local res$((a b))return $res }add 3 5 result$? echo The result is: $result return返回值的含义 最后结果是从$?获取的其实$?与其它语言中函数返回值是有区别 $? 本质上是返回上一条命令的退出状态并且只是0~255间的整数也就是最多返回256种状态。 除了$?还有另外4个特殊的变量它们分别表示以下含义 $$表示当前Shell进程的进程IDPID。$#表示传递给脚本或函数的参数个数。$表示以空格分隔的所有参数将所有参数视为单个字符串。$*表示所有参数作为单独的字符串展开每个参数之间用一个空格分隔。 例程 hannHannYang:~$ more sum3.sh #!/bin/bashfunction special_vars() {echo Current PID \$: $$echo Number of arguments #: $#echo All arguments (as a single string) : $echo All arguments separated by spaces *: $*echoreturn $(($1$2$3)) }special_vars 1 2 3 4 5 echo ? $? echo \$ $$ echo # $# echo $ echo * $* hannHannYang:~$ bash sum3.sh Current PID $: 1679 Number of arguments #: 5 All arguments (as a single string) : 1 2 3 4 5 All arguments separated by spaces *: 1 2 3 4 5? 6 $ 1679 # 0* $只能函数执行后调用$#,$,$*只能在函数内部调用$$则在函数内外都能调用。 return与echo返回值的区别 为了显示两者的不通echo后加了“sum”而return只能返回整数0~255。 例程 #!/bin/bash function add() {local a$1local b$2local res$((a b))echo sum$resreturn $res }Result$(add 100 155) echo The result is: $? echo The result is: $ResultResult$(add 100 156) echo The result is: $? echo The result is: $ResultResult$(add 155 358) echo The result is: $? echo The result is: $Resultecho The result is: $(( (155358)%256 )) 输出 The result is: 255 The result is: sum255 The result is: 0 The result is: sum256 The result is: 1 The result is: sum513 The result is: 1 注意 return 返回表达式的值如溢出范围可以认为是 表达式与256相余的结果。 所以shell函多用echo来返回一个字串结果$res再进行调用而return一般不会作函数值返回语句它的真实用途是来返回程序运行状态的比如 例1 hannHannYang:~$ cat test.sh #!/bin/bashfunction filecount {# 检查目录是否存在if [ -d $1 ]; then# 目录存在计算文件数echo $(ls -l $1 | grep ^- | wc -l)return 1else# 目录不存在返回0return 0fi }dir$1 count$(filecount $dir)if [ $? 1 ] thenecho Dir $dir existsfiles$count elseecho Dir $dir doesnt exist. fidir$2 count$(filecount $dir)if [ $? 0 ] thenecho Dir $dir doesnt exist. elseecho Dir $dir existsfiles$count fi hannHannYang:~$ bash test.sh rust golang Dir rust existsfiles4 Dir golang doesnt exist. 例2 hannHannYang:~$ cat chkpid.sh checkpid() {#定义本地变量ilocal i#使用for循环遍历传递给此函数的所有参数for i in $*do#如果目录/proc/$i存在则执行此函数返回0#在一般的Linux系统中如果进程正在运行则在/proc目录下会存在一个以进程号命名的子目录[ -d /proc/$i ] return 0done#返回1return 1 }#调用函数checkpid checkpid $1 $2 $3if [ $? 0 ] thenecho The one of them is running. elseecho These PIDS are not running! fi hannHannYang:~$ bash chkpid.sh 866 The one of them is running. hannHannYang:~$ bash chkpid.sh 866 867 1882 The one of them is running. hannHannYang:~$ bash chkpid.sh 1882 These PIDS are not running! hannHannYang:~$ bash chkpid.sh 868 1882 These PIDS are not running! 可变参数函数 $的应用 in $表示遍历所有参数组成的“可迭代数组”。 示例 #!/bin/bash# 定义可变参数的函数 function sum4() {local sum0for arg in $dosum$((sum arg))doneecho The sum is: $sum }# 调用函数并传递参数 sum4 10 20 30 50 sum4 1 2 3 4 5 6 输出 The sum is: 110 The sum is: 21  4. 自定义库函数 定义库函数 例写一个函数库如命名为 math_fun.sh  function add {echo expr $1 $2 }function sub {echo expr $1 - $2 }function mul {echo expr $1 \* $2 }function div {if [ $2 0 ]; thenreturn 0elseecho expr $1 / $2return 1fi } 调用库函数 在调用库文件的函数时使用点符号“ . ” 库函数文件名指明文件的绝对路径、相对路径都行进行调用。如 test_fun.sh #!/bin/bash . math_fun.shadd 10 20sub 90 100mul 5 6div 100 25div 0 100div 100 0 if [ $? 0 ];thenecho Error: divide by zero. fi执行结果 hannHannYang:~$ bash test_fun.sh 30 -10 30 4 0 Error: divide by zero. 5. 递归函数 递归函数是一种在程序中调用自身的函数。在 Shell 编程中也能使用递归函数来解决一些问题例如计算阶乘、斐波那契数列等。 递归函数的实现需要满足以下两个条件 函数必须有一个终止条件否则会无限循环下去。函数必须能够将问题分解成更小的问题并且能够通过调用自身来解决这些小问题。 递归法实现阶乘函数 #!/bin/bashfactorial() {if [ $1 -le 1 ]thenecho 1elseecho $(( $1 * $(factorial $(( $1 - 1 ))) ))fi }read -p 请输入一个整数 num result$(factorial $num) echo $num 的阶乘为 $result改用循环实现 #!/bin/bashfactorial() {local result1for ((i1; i$1; i))doresult$((result * i))doneecho $result }read -p 请输入一个整数 num result$(factorial $num) echo $num 的阶乘为 $result完
http://www.hkea.cn/news/14593207/

相关文章:

  • 手机版免费申请微网站网站建设书案例
  • 兼职做国外网站钻前潍坊网站建设wf3
  • 成都网站建设免费咨询游戏网站外链建设
  • html5 珠宝网站西宁网站设计公司价格
  • 企业网站的建立要做的准备网站域名怎么快速备案
  • wamp建设网站大致步骤海淀网站建设价格
  • 手机网站建站软件智能建站做网站好吗
  • 网站自动采集rss腾讯与中国联通
  • 肇庆市住房和城乡房屋建设局网站淘宝电商运营基础知识
  • 深圳网站建设ejaket工装设计案例网站
  • 企业建站的作用是什么深圳展厅设计装修
  • 网站企业管理培训课程php网站怎么缓存
  • 品网站建设公司排名做推广便宜的网站
  • 深圳的网站建设公司价格李笑来做的一个网站
  • 校体育网站建设的好处品牌网站策划书
  • 关于国际贸易的网站ps网页设计视频教程
  • 公司网站开发部署网站收录很高
  • 哪些网站织梦cmswordpress 文章去重
  • wordpress admin ajax最新黑帽seo教程
  • wap网站排名郴州新网0735
  • 紫金网站制作策划响应式网站企业
  • 网站建设维护概括总结wordpress 演示数据 导入
  • p2p网站建设资质产品开发流程梳理
  • 服装网站怎么做的wordpress访问后台
  • 知名企业网站搭建品牌wordpress 文章的php
  • 学校网站建设设计方案什么类型的产品可以做网站出口
  • 小视频网站建设网页设计与制作知识点
  • 西安网站建设推荐q479185700上墙wordpress 多媒体显示
  • 成都环境建设网站php源码怎么建设网站
  • 网站建设服务公司WORDPRESS免费中国主题