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

网络建站 响应式网站网络营销推广的新趋势

网络建站 响应式网站,网络营销推广的新趋势,做企业网站注意些啥,骄阳房地产网站一、shell的选择结构 1.回顾#xff1a;C语言的选择结构:if , if else if ,if else,switch #xff08;switch的执行速度最快#xff09; 2.shell的选择结构#xff1a; 单分支if 双分支 if else 多分支if elif case..in 1.1 shell的选择结构的格式 --------C语言的格式--…一、shell的选择结构 1.回顾C语言的选择结构:if , if else if ,if else,switch switch的执行速度最快 2.shell的选择结构 单分支if 双分支 if else 多分支if elif case..in 1.1 shell的选择结构的格式 --------C语言的格式------ 单分支if(表达式){C语句 } 双分支if(表达式){C语句1 }else{C语句2 } 多分支if(表达式1){C语句1 }else if(表达式2){C语句2 }....else{C语句n; } -------------------shell的格式------ 单分支if 表达式thenSHELL语句fi 执行流程如果表达式为真则执行shell语句否则退出 双分支if 表达式thenshell语句1elseshell语句2fi 执行流程如果表达式为真则执行shell语句1否则执行shell语句2 多分支if 表达式1thenshell语句1elif 表达式2thenshell语句2....elseshell语句nfi 执行流程如果表达式1为真则执行shell语句1结束如果表达式1为假则继续判断表达式2如果表达式2为真则执行shell语句2结束重复以上过程 1.2 shell选择结构练习 1.输入一个数判断奇数偶数 2.输入一个数判断是否是水仙花 水仙花各个位数字立方和等于本身,是三位数 eg: 1531*1*15*5*53*3*3 if ((a%20)) then 偶数 else 奇数 fi if ((a%20)) then 偶数 fi if ((a%2!0)) then 奇数 fi if ((a%20)) then 偶数 elif ((a%2!0)) then 奇数 fi #!/bin/bashread -p please enter a: a if ((a%20)) thenecho 偶数 elseecho 奇数 firead -p please enter num: numif (($num100num999)) theng$((num%10))s$((num/10%10))b$((num/100))if ((g**3s**3b**3num))thenecho 是水仙花else echo 不是水仙换fi elseecho 不是三位数 fi 1.3 test指令和if结合 1.test是一个指令必须添加空格必须写$,必要时写双引号 man test 2.test实现的操作逻辑运算关系运算字符串文件 3.test指令等价于[] 1.3.1 test和if结合的格式 格式1if test 表达式thenshell语句fi 格式2if [ 表达式 ] 注意[]的左右必须添加空格thenshell语句fi 1.3.2 test的指令 【1】逻辑运算 格式1if [ 表达式1 -a 表达式2 ] 格式2if [ 表达式1 ] [ 表达式2 ] 格式3if [ 表达式1 -o 表达式2 ] 格式4if [ 表达式1 ] || [ 表达式2 ] 1.判断表达式为真( EXPRESSION )EXPRESSION is true判断a不为0if(a!0) ---if(a) ---if [ $a ]2.判断表达式为假! EXPRESSIONEXPRESSION is false判断a等于if(a0) ----if(!a) ----if [ ! $a ] 3.逻辑与运算遇假则假全真为真 EXPRESSION1 -a EXPRESSION2both EXPRESSION1 and EXPRESSION2 are true判断abcif(abbc) ----if [ $a -gt $b -a $b -gt $c ]---if [ $a -gt $b ] [ $b -gt $c ]4.逻辑或运算遇真则真全假为假 EXPRESSION1 -o EXPRESSION2either EXPRESSION1 or EXPRESSION2 is true判断成绩不合格0 100if(a0 || a100) ---if [ $a -lt 0 -o $a -gt 100 ]---if [ $a -lt 0 ] || [ $a -gt 100 ] 练习输入一个年份判断润年润年能被4整除但不可以被100整除或者可以被400整除read -p please enter year: yearif [ $((year%4)) -eq 0 -a $((year%100)) -ne 0 -o $((year%400)) -eq 0 ] thenecho 是润年 elseecho 不是润年 fi判断偶数 ---》if [ a%40 ] ---if [ $((a%4)) -eq 0 ] 【2】关系运算 1.判断两个整数是否相等INTEGER1 -eq INTEGER2INTEGER1 is equal to INTEGER2判断a和b相等if test $a -eq $b ---- if [ $a -eq $b ]2.判断整数1大于等于整数2 INTEGER1 -ge INTEGER2INTEGER1 is greater than or equal to INTEGER2判断a大于等于bif test $a -ge $b ---- if [ $a -ge $b ] 3.判断整数1大于整数2 INTEGER1 -gt INTEGER2INTEGER1 is greater than INTEGER2 4.判断整数1小于等于整数2INTEGER1 -le INTEGER2INTEGER1 is less than or equal to INTEGER2 5.判断整数1小于整数2INTEGER1 -lt INTEGER2INTEGER1 is less than INTEGER2 6.判断两个整数不相等INTEGER1 -ne INTEGER2INTEGER1 is not equal to INTEGER2练习输入三个数实现升序排序a b c 要求a存储最小值 b存储中间值 c存储最大值 #!/bin/bashread -p please enter arr -a arr#1.判断arr[0] arr[1] if [ ${arr[0]} -gt ${arr[1]} ] thent${arr[0]}arr[0]${arr[1]}arr[1]$t fi#判断arr[1] arr[2] if [ ${arr[1]} -gt ${arr[2]} ] thent${arr[1]}arr[1]${arr[2]}arr[2]$t fi #判断arr[0] arr[1] if [ ${arr[0]} -gt ${arr[1]} ] thent${arr[0]}arr[0]${arr[1]}arr[1]$t fi echo ${arr[*]} 【3】字符串 1.判断字符串长度不为0-n STRINGthe length of STRING is nonzeroSTRING equivalent to -n STRING判断str不为空if [ -n $str ] 2.判断字符串长度为0-z STRINGthe length of STRING is zero判断str为空if [ -z $str ] 3.判断两个字符串是否相等STRING1 STRING2the strings are equal判断字符串ab是否相等if [ $a $b ] 4.判断两个字符串不相等STRING1 ! STRING2the strings are not equal判断字符串ab不相等if [ $a ! $b ] 5.判断字符串的大小关系if [ $a $b ] if [ $a $b ] 练习输入两个字符串如果有一个为空则提示空否则判断 read a read b if [ -z $a -o -z $b ] thenecho NULL elseif [ $a $b ]thenecho elif [ $a $b ] thenecho elif [ $a $b ]thenecho fi fi 【4】文件 文件类型bcd-lsp 参数 bcdfLSp 1.判断两个文件谁跟新(修改的时间)FILE1 -nt FILE2FILE1 is newer (modification date) than FILE2两个文件file1 file2if [ $file1 -nt $file2 ] 2.判断文件谁跟旧 FILE1 -ot FILE2FILE1 is older than FILE2两个文件file1 file2if [ $file1 -ot $file2 ] 3. 判断是否是块设备文件以及存在 -b FILEFILE exists and is block special文件file是否是块设备文件if [ -b $file ] 4. 判断文件存在且是一个字符设备文件 -c FILEFILE exists and is character specialif [ -c $file ] 5.判断文件存在且是一个目录 -d FILEFILE exists and is a directory6.判断文件是否存在-e FILEFILE exists 7.判断文件存在且是一个普通文件-f FILEFILE exists and is a regular file 8.判断文件存在且是一个链接文件 -h FILEFILE exists and is a symbolic link (same as -L)-L FILEFILE exists and is a symbolic link (same as -h)9.判断文件存在且是一个管道文件-p FILEFILE exists and is a named pipe 10.判断文件存在且文件大小大于0,文件不为空 -s FILEFILE exists and has a size greater than zero 11.判断文件存在且是一个套接字文件-S FILEFILE exists and is a socket12.判断文件存在且具备可读权限-r FILEFILE exists and read permission is granted 13.判断文件存在且具备写权限 -w FILEFILE exists and write permission is granted 14.判断文件存在且具备可执行权限 -x FILEFILE exists and execute (or search) permission is granted练习终端输入文件名输出文件对应的类型以及对应的权限 1.4 case ..in ---------------C语言switch---- switch(表达式) {case 常量表达式1:C语句; break;case 常量表达式2:C语句; break;case 常量表达式3:C语句; break;...default:C语句n;break; } ----------------case..in-------- 格式 case varName in常量表达式1)shell语句;; 常量表达式2)shell语句;; ------》不可以省略....*)shell语句;; ----》可以省略不写 esac 解析1.varName只是一个变量 类似switch中的表达式 2.常量表达式2.1常见格式hellohello)hello) 2.2可以和按位或链接A|a) ---A或a则执行Y|y|yes|YES) 2.3可以和通配符结合使用h*) ?[] 70-89B[7-8][0-9])3.;; ---类似C语言break,退出case..in, 可有可无 4.*) 类似default 执行除上面案例的所有情况 练习输入一个表达式输出对应的值 -*% 12 ---》3 a1bc2switch(b){case :printf(%d,ab);break;case -:printf(%d,ab);break; case *:printf(%d,ab);break; case /:printf(%d,ab);break;case %:printf(%d,ab);break;default:error;break;}read a b c case $b in)echo $a$b$c$((ac));;-)echo $a$b$c$((a-c));;*)echo $a$b$c$((a*c));;/) echo $a$b$c$((a/c));;%)echo $a$b$c$((a%c));;*)echo input error;;esac 二、shell循环结构 1.回顾C语言的循环while\ for\ do..while 2.shell的循环 while\for\select..in 2.1 while ------------------C语言---- while(表达式) {C语句 } ------------------shell循环格式---- 格式#while test 表达式while [ 表达式 ] ---while [ 1 ] 死循环doshell语句done 执行流程如果表达式为真则进入循环表达式为假则退出循环练习循环1--5 i1while [ $i -le 5 ]doecho i$i((i))done练习输入一个数组使用while循环输出数组元素计算数组元素的和 read -p please enter arr: -a arr i0 while [ $i -lt ${#arr[*]} ] doecho arr[$i]${arr[$i]} ((sumarr[i]))((i)) done echo sum$sum 11.2 for while:属于当型循环先判断后执行最少执行0次属于有条件控制(不清楚循环次数) for: 属于当型循环先判断后执行最少执行0次属于计数控制(循环次数明确) do..while:属于直到型循环先执行后判断最少执行1次属于条件控制(循环次数不明确) ---------------------C语言for循环格式---- for(表达式1;表达式2;表达式3) {C语句 } 表达式1起始值 表达式2循环条件 表达式3步长 -------------------shell的格式-------- 格式1类似于C语言的格式for ((表达式1;表达式2;表达式3))doshell语句done 执行流程先表达式1执行表达式2如果表达式2为真则继续循环后执行表达式3如果表达式2为假 则结束循环 格式2可以实现稀疏数组的循环for varName in 选项列表doshell语句done 格式3for varName -----》doshell语句done注意in 选项列表如果不写则默认varName的结果是终端输入的字符串也就是命令置换$1 $2 $3... 解析 1.varName: 循环变量类似i 2.选项列表每个元素之间使用空格隔开2.1 选项列表为固定的字符换for i in 1 2 3 4doecho $idone2.2 选项列表的值为数组arr(11 22 33)for i in ${arr[*]}doecho $idone2.3 选项列表可以使用seq指令格式seq 起始值 间隔 终止值eg: seq 1 2 10 -----1 3 5 7 9使用: seq 起始值 间隔 终止值 $(seq 起始值 间隔 终止值) for i in seq 2 2 8 a2 b8for i in seq $a 2 $b 2.4 选项列表可以使用{1..3},起始值和终止值必须是常量{1..3} ---1 2 3 3.执行流程依次把选项列表的每个元素赋值给变量varName,如果选项列表的元素赋值结束则结束循环练习输入一个数组计算最大值使用for实现 练习 打印图片**********for((i1;i4;i)) dofor((j1;ji;j))doecho -n * #取消换行打印doneecho #换行 doneread -p please enter arr: -a arr max${arr[0]} for var in ${arr[*]} doif [ $max -lt $var ]thenmax$varfi done echo max$max 2.3 select..in select..in: 增强和终端页面的交互性 格式select varName in 选项列表doshell语句done 解析 1.varName和选项列表 与for循环一样 2.select..in执行流程在#?的后面输入指定序列如果序列号存在则把指定对应的元素赋值给varName如果#?不输入世界回车则重新打印页面如果在#?的后面输入的值不在列表中则重新输入ctrl c\ ctrl d结束循环 eg: select var in 11 22 33 44 doecho var$var done 2.4 select..in和case..in结合使用 练习使用select..in和case..in实现计算器1)2)-3)*4)/5)%#? read a c #1 2 select b in - * / % docase $b in )echo $a$b$c$((ac));;-)echo $a$b$c$((a-c));;*)echo $a$b$c$((a*c));;/) echo $a$b$c$((a/c));;%)echo $a$b$c$((a%c));;*)echo input error;;esacdone 三、练习 3.1 使用case..in实现等级判断输入一个成绩判断等级 #!/bin/bashread grade case $grade in9[0-9]|100)echo A;;8[0-9])echo B;;7[0-9])echo C;;6[0-9])echo D;;[1-5][0-9]|[0-9])echo 不及格;;*)echo error;; esac3.2任意输入一个数使用while循环计算各个位数字之和 #!/bin/bashread -p 请输入一个数: num sum0 n$num while [ $num -gt 0 ] dosum$((num%10$sum))num$((num/10)) done echo $n各个位数和为$sum3.3 输入一个字符串使用while循环实现字符串逆置 #!/bin/bashread str len${#str} echo str$str for i in seq 1 1 $len doNewStr$NewStr${str:0-i:1} done echo 逆置后:str$NewStr3.4循环家目录下的所有内容计算家目录下 目录的个数普通文件的个数使用for循环 #!/bin/basharr(ls ~) len${#arr[*]} qt0 for i in seq 0 1 $(($len-1)) doif [ -d ~/${arr[$i]} ]then((qt))fi done echo 家目录下目录数量为$qt qt0 for i in seq 0 1 $(($len-1)) doif [ -f ~/${arr[$i]} ]then((qt))fi done echo 家目录下普通文件数量为$qt 3.5 打印图形 * *** ***** ******* #!/bin/bashfor i in {1..4} dofor ((j4-i;j0;j--))doecho -n donefor ((k2*i-1;k0;k--))doecho -n *doneecho done3.6 输入一个数组请实现冒泡排序 #!/bin/bashread -p 请输入数组元素: -a arr len${#arr[*]} for i in seq 1 1 $len dofor j in seq 0 1 $(($len-$i-1))doif [ ${arr[$j]} -gt ${arr[$((j1))]} ]thentemp${arr[$j]}arr[j]${arr[$((j1))]}arr[$((j1))]$tempfidone doneecho ${arr[*]}3.7 输入一个数组请实现插入排序 #!/bin/bashread -a arr -p 请输入数组中的元素: len${#arr[*]} sun0 for i in seq 1 1 $(($len-1)) dotemp${arr[$i]}for ((ji-1;j0;j--))doif [ $temp -le ${arr[$j]} ]thenarr[$((j1))]${arr[$j]}elsearr[$((j1))]$tempj-1fidone done echo ${arr[*]} 3.8 输入用户名和密码(加密输入)实现密码的三次登录 默认用户名admin 密码1234 账户存款10000 如果登录失败则提示 第1次登录失败还有2次机会 第2次登录失败还有1次机会 第3次登录失败账户被锁定 如果登录成功则显示银行页面 1.账户余额 2.取款 3.存款 如果选择1则打印当前的余额 如果选择2则输入取款金额如果取款金额大于实际金额则提示账户余额不足请重新输入如果账户余额小于等于实际金额则提示取款成功打印剩余金额 如果选择3则输入存款金额并提示 存款成功余额的值 #!/bin/bashcount1 balance10000 while [ $count -le 3 ] doread -p 请输入用户名: nameread -p 请输入密码: -s passwdif [ $nameadmin -a $passwd1234 ]thenechoselect choice in 账户余额 取款 存款docase $choice in账户余额)echo 账户余额:$balance;;取款)read -p 请输入取款金额: mountif [ $mount -gt $balance ]thenecho 余额不足,请重新输入elsebalance$((balance-mount))echo 取款成功echo 账户余额:$balancefi;;存款)read -p 请输入存款金额: mountbalance$((balancemount))echo 存款成功echo 账户余额:$balance;;*)echo error;;esacdoneelif [ $name!admin || $passwd!1234 ]thenif [ $count -eq 3 ]thenecho 第$count次登录失败,账户被锁定elseecho 第$count次登录失败,还有$((3-$count))次机会fi((count))fi done
http://www.yayakq.cn/news/1630/

相关文章:

  • 网站开发背景意义seo搜索引擎优化试题
  • 有没有做网站一次付费wordpress后台登不进去
  • 怎么建立公司网站?创建域名
  • 烟台网站排名seo夸克搜索网页版
  • 国家级示范校建设网站58同城企业网站怎么做的
  • 虚拟币挖矿网站开发智通人才网东莞最新招聘信息
  • 网站导航页面制作成都双语网站开发
  • 网页开发人员招聘唐山做网站优化公司
  • 宣威市网站建设协同办公oa
  • 北京网站建设站建设高端网站建设策划
  • 厦门外贸网站建设报价表阿里巴巴网站怎么做推广
  • 免费做祝福网站在线网站建设哪个正规
  • 网站群建设公司开发软件怎么开发
  • 山西网站制作平台苏州网站设计师招聘信息
  • 批量网站访问检测河南省工程招标信息网
  • 宽屏网站js校园局域网的设计与实现
  • 中山专业网站制作哪里可以免费下载ppt模板
  • 农林网站建设深圳it外包公司有哪些
  • 济南网站建设制作设计徐州建站网站模板
  • 网站建设最简单的教程视频教程提供邯郸做移动网站
  • 西安网站建设哪家好一些WordPress万级数据优化
  • 励志做的很好的网站市场营销策划案的范文
  • 沈阳的网站制作公司哪家好搜索引擎广告投放
  • 网站做app开发wordpress视频教程式
  • 网站备案号链接做盈利网站怎么备案
  • 深圳做营销网站的公司小米路由wordpress
  • 网站公司建设网站建设规划书电商
  • 做自己的网站不是免费的镇海区建设交通局网站进不去了
  • 做特卖网站有什么网站asp网站转wap网站
  • 网站制作公司咨询网站制作公司沈阳网站建设培训班