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

一般企业网站3年多少钱wordpress上传本地主题

一般企业网站3年多少钱,wordpress上传本地主题,wordpress竖版图片尺寸,沈阳微信网站制作价格一、select in循环语句的功能 Linux shell脚本编程提供了select in语句#xff0c;这是 Shell 独有的一种循环语句#xff0c;非常适合终端#xff08;Terminal#xff09;这样的交互场景#xff0c;它可以根据用户的设置显示出带编号的菜单#xff0c;用户通过输入不同…一、select in循环语句的功能 Linux shell脚本编程提供了select in语句这是 Shell 独有的一种循环语句非常适合终端Terminal这样的交互场景它可以根据用户的设置显示出带编号的菜单用户通过输入不同的编号就可以选择不同的菜单并执行与菜单对应的功能这是C、C、Java、Python 等编程语言中是没有的。 二、select in循环语句的语法格式 select 变量名 in 值1 [值2 ……值n] do     语句或命令1     [……]     [语句或命令n] done 在do 和 done之间我们可以用if或case语句根据变量名的值执行相应语句或命令实现不同的功能。 三、实例1 我们会询问你喜欢吃哪种水果并显示4个水果选项apple、banana、orrange、peach以及一个退出循环的选项exit 如果你的选择4个水果中的一个将会显示你选择的水果名称 如果你选择了是exit将会看到提示bye并结束循环。 代码如下 echo What is your favourite fruit? select f in apple banana orrange peach exit doif [[ $f exit ]]; thenecho byebreakelseecho You have selected $ffidone 一在zsh中 # csdn edu in ~ [22:32:22]  $ echo What is your favourite fruit?; select f in apple banana  orrange peach exit; do; if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) apple    2) banana   3) orrange  4) peach    5) exit      ?# 1 You have selected apple ?# 4 You have selected peach ?# 5 bye # csdn edu in ~ [22:32:52]  我们可以看到zsh 根据select in循环语句提供的值显示出了五个菜单项 1) apple    2) banana   3) orrange  4) peach    5) exit      每个菜单项前有1个数字。 然后显示提示符 ?# 让我们输入菜单项前的数字来选择相应的菜单项。 我们先输入了1所以显示You have selected apple 接着我们输入4所以显示You have selected peach 最后我们输入5这是退出循环的选项于是我们看到了bye并退回到了命令行状态。 二在bash中 # csdn edu in ~ [22:46:42]  $ bash [csdn ~]$ echo What is your favourite fruit?; select f in apple banana  orrange peach exit; do; if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done bash: syntax error near unexpected token ; [csdn ~]$ echo What is your favourite fruit?; select f in apple banana  orrange peach exit; do if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) apple 2) banana 3) orrange 4) peach 5) exit #? 1  You have selected apple #? 3 You have selected orrange #? 5 bye [csdn ~]$  我们可以看到bash 和zsh 对脚本的支持不太一样。 刚才在zsh中执行正常的脚本在bash中执行时出错 bash: syntax error near unexpected token ; 我们把 do 语句后面的; 去掉后脚本可以执行了。 根据select in循环语句提供的值显示出了五个菜单项 我们可以看到bash 像zsh 一样根据select in循环语句提供的值显示出了五个菜单项 1) apple 2) banana 3) orrange 4) peach 5) exit  每个菜单项前有1个数字。 但与zsh的横向显示方式不同bash采用的是纵向显示方式。 然后显示提示符#?  让我们输入菜单项前的数字来选择相应的菜单项。 bash的这个提示符#?  跟zsh显示的提示符字符顺序是相反的zsh显示的提示符字符是?#。 我们先输入了1所以显示You have selected apple 接着我们输入3所以显示You have selected orrange 最后我们输入5这是退出循环的选项于是我们看到了bye并退回到了命令行状态。 四、容错机制测试 在上面的实例1中如果我们输入的字符不属于菜单项前的数字代码会怎么执行呢 一在zsh中 # csdn edu in ~ [23:03:43]  $ echo What is your favourite fruit?; select f in apple banana  orrange peach exit; do; if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) apple    2) banana   3) orrange  4) peach    5) exit      ?# a You have selected  ?# 6 You have selected  ?# 3 You have selected orrange ?# 5  bye # csdn edu in ~ [23:04:12]  $  二在bash中 # csdn edu in ~ [23:04:12]  $ exec bash [csdn ~]$ echo What is your favourite fruit?; select f in apple banana  orrange peach exit; do; if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done bash: syntax error near unexpected token ; [csdn ~]$ echo What is your favourite fruit?; select f in apple banana  orrange peach exit; do if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) apple 2) banana 3) orrange 4) peach 5) exit #? b You have selected  #? 9 You have selected  #? 3 You have selected orrange #? 5 bye [csdn ~]$  可以看到不管zsh还是bash如果我们输入的字符不属于菜单项前的数字shell并不会进行干预代码仍然会执行并由if语句根据$f的值进行处理。 所以为了实现预期的效果我们需要自己对用户输入的字符的有效性进行检查和处理。 五、如果 传递给 select in 的值超过9个会怎么显示实例2 我们通过下面的代码给select in 传递了36个值来测试。 一 在 zsh中 # csdn edu in ~ [23:14:29]  $ echo What is your favourite fruit?; select f in 1 2 3 4 5 6 7 8  9 a  b c d e f g h i j  k l m n o p q r s t u v w x y z exit; do; if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) 1      3) 3      5) 5      7) 7      9) 9      11) b     13) d     15) f     17) h     19) j     21) l     23) n     25) p     27) r     29) t     31) v     33) x     35) z      2) 2      4) 4      6) 6      8) 8      10) a     12) c     14) e     16) g     18) i     20) k     22) m     24) o     26) q     28) s     30) u     32) w     34) y     36) exit   ?# 1 You have selected 1 ?# 18 You have selected i ?# m You have selected  ?# 36 bye # csdn edu in ~ [23:15:12]  $  这次在zsh也是采用纵向多列的方式来显示菜单。  二在bash中 # csdn edu in ~ [23:15:12]  $ exec bash [csdn ~]$ echo What is your favourite fruit?; select f in 1 2 3 4 5 6 7 8  9 a  b c d e f g h i j  k l m n o p q r s t u v w x y z exit; do if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) 1       3) 3      5) 5      7) 7      9) 9     11) b     13) d     15) f     17) h     19) j     21) l     23) n     25) p     27) r     29) t     31) v     33) x     35) z 2) 2       4) 4      6) 6      8) 8     10) a     12) c     14) e     16) g     18) i     20) k     22) m     24) o     26) q     28) s     30) u     32) w     34) y     36) exit #? 9 You have selected 9 #? 20 You have selected k #? k You have selected  #? 36 bye [csdn ~]$  这次bash显示菜单的方式与zsh一致。 可以看到当传递给 select in 的值超过9个时不管zsh还是bash会以10、11……这种方式给值赋予菜单值。 六、利用数组构建容错机制 一实例3 我们可以先将要传递给select in 的值定义并存储到一个数组a中 再把数组a传递给 select in 当用户输入数值后对用户输入的数值进行判断 如果用户输入的值 数组a的长度 或者 用户输入的值 1那么就显示 bye并退出循环否则显示用户选择的fruit。 # csdn edu in ~ [23:48:42]  $ a(apple banana orrange peach);echo What is your favourite fruit?; select f in $a; do; if [[ $f -gt ${#a[*]} ]] || [[ $f 1 ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) apple    2) banana   3) orrange  4) peach     ?# 1 You have selected apple ?# 4 You have selected peach ?# 0 bye # csdn edu in ~ [23:48:52]  $  二注意 对于 if [[ $f -gt ${#a[*]} ]] || [[ $f 1 ]]  1.如果 将  $f -gt ${#a[*]} 写成 $f ${#a[*]}代码执行就会出现问题 $f ${#a[*]} $ a(apple banana orrange peach);echo What is your favourite fruit?; select f in $a; do; if [[ $f ${#a[*]} ]] || [[ $f 1 ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) apple    2) banana   3) orrange  4) peach     ?# 1 bye # csdn edu in ~ [23:13:38]  $  即使我们输入1代码也会显示bye并跳出循环返回命令行。 这是因为$f 和 ${#a[*]} 在这里进行的是字符串比较。 2.如果将 $f 1 写为 $f -lt 1代码执行也会出现问题 # csdn edu in ~ [23:48:31]  $ a(apple banana orrange peach);echo What is your favourite fruit?; select f in $a; do; if [[ $f -gt ${#a[*]} ]] || [[ $f -lt 1 ]]; then echo bye; break; else echo You have selected $f; fi; done  What is your favourite fruit? 1) apple    2) banana   3) orrange  4) peach     ?# 1 bye 同样我们输入1代码也会显示bye并跳出循环返回命令行。 这是因为$f 和1在进行的是数值比较。 七、如果没有设置退出值菜单项如何退出循环 在上面的实例1和实例2中我们都设置了exit值给用户选择退出循环如果我们在脚本中没有作这方面的设置用户该如何退出循环呢 有两种方法 CtrlC 或 CtrlD 一以bash中用CtrlC # csdn edu in ~ [23:26:14]  $ exec bash [csdn ~]$ echo What is your favourite fruit?; select f in apple banana  orrange peach exit; do; if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done bash: syntax error near unexpected token ; [csdn ~]$ echo What is your favourite fruit?; select f in apple banana  orrange peach exit; do if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) apple 2) banana 3) orrange 4) peach 5) exit #? 3 You have selected orrange #? ^C 按CtrlC退出屏幕上会显示^C。 二以bash中用CtrlD [csdn ~]$ echo What is your favourite fruit?; select f in apple banana  orrange peach exit; do if [[ $f exit ]]; then echo bye; break; else echo You have selected $f; fi; done What is your favourite fruit? 1) apple 2) banana 3) orrange 4) peach 5) exit #? 1 You have selected apple #?  [csdn ~]$  按CtrlD退出屏幕上不会显示出来更美观一些。  八、与 case...esac语句配合使用 当我们需要对多个数值分别做不同的处置时用if语句太麻烦了我们可以使用case...esca语句配合使用。 我们将实例1修改如下 a(apple banana orrange peach) echo What is your favourite fruit? select f in ${a[*]} docase $f inapple) echo 1 apple;;banana) echo 2 banana;;orrange) echo 3 orrange;;peach) echo 4 peach;;*) echo byebreak;;esac done 使用case...esca语句来对用户选择的fruit进行分别处理如果用户输入的值不在数组a中将显示bye并退出循环。 一在zsh中顺利执行 # csdn edu in ~ [22:37:41]  $ a(apple banana orrange peach);echo What is your favourite fruit?; select f in $a; do; case $f in; apple) echo 1 apple;; banana) echo 2 banana;; orrange)  echo 3 orrange;;peach) echo 4 peach;; *)echo bye;  break; esac; done What is your favourite fruit? 1) apple    2) banana   3) orrange  4) peach     ?# 1 1 apple ?# 4 4 peach ?# 5 bye # csdn edu in ~ [22:37:53]  $  二在bash中 1.命令行执行出错 [csdn ~]$ a(apple banana orrange peach);echo What is your favourite fruit?; select f in $a; do; case $f in; apple) echo 1 apple;; banana) echo 2 banana;; orrange) echo 3 orrange;;peach) echo 4 peach;; *)echo bye;  break; esac; done bash: syntax error near unexpected token ; [csdn ~]$ a(apple banana orrange peach);echo What is your favourite fruit?; select f in $a; do case $f in; apple) echo 1 apple;; banana) echo 2 banana;; orrange) echo 3 orrange;;peach) echo 4 peach;; *)echo bye;  break; esac; done bash: syntax error near unexpected token ; [csdn ~]$  bash对;的处理  2.创建脚本文件来测试 1创建脚本文件a.sh [csdn ~]$ echo a(apple banana orrange peach) a.sh [csdn ~]$ echo echo What is your favourite fruit? a.sh [csdn ~]$ echo select f in ${a[*]} a.sh [csdn ~]$ echo do a.sh [csdn ~]$ echo case $f in a.sh [csdn ~]$ echo apple) echo 1 apple;; a.sh [csdn ~]$ echo banana) echo 2 banana;; a.sh [csdn ~]$ echo orrange) echo 3 orrange;; a.sh [csdn ~]$ echo peach) echo 4 peach;; a.sh [csdn ~]$ echo *) echo bye a.sh [csdn ~]$ echo break;; a.sh [csdn ~]$ echo esac a.sh [csdn ~]$ echo done a.sh [csdn ~]$  \ 2查看脚本文件a.sh的内容 [csdn ~]$ cat a.sh a(apple banana orrange peach) echo What is your favourite fruit? select f in ${a[*]} do case $f in apple) echo 1 apple;; banana) echo 2 banana;; orrange) echo 3 orrange;; peach) echo 4 peach;; *) echo bye break;; esac done [csdn ~]$  (3)执行脚本文件a.sh [csdn ~]$ . a.sh What is your favourite fruit? 1) apple 2) banana 3) orrange 4) peach #? 1 1 apple #? 3 3 orrange #? 5 bye [csdn ~]$  注意 对于数组a(apple banana orrange peach) 在zsh中只需要使用$a 就可以获得所有元素的值在bash中使用$a 只能获得第1个元素的值要获得所有元素的值需要使用${a[*]}或${a[]}
http://www.sadfv.cn/news/213964/

相关文章:

  • 外贸网站faq专业推广公司哪家好
  • 网站备案点不进去扬中招聘信息网
  • 站酷网素材图库商务网站建设平台
  • 飞凡网站建设四川seo多少钱
  • 玉田网站制作wordpress 根目录是
  • 传媒网站如何设计郑州专业网站建设
  • c 语言能开发做网站吗站优化
  • 新昌县城乡建设局网站南昌手机网站制作
  • 公司网站建设制作商做短视频的网站
  • 软件设计专业学什么重庆快速排名优化
  • 云南网站优化排名东道设计属于什么档次
  • 太原手手工网站建设公司网站开发常用png
  • 市场营销数字营销福田网站建设乐云seo
  • 做网站哪家便宜厦门怎么制作公众号推送
  • 网站 宣传册河北招投标信息服务平台
  • 重庆南坪网站建设wordpress chmod
  • 网站建设宀金手指排名wordpress评论链接
  • 怎么做百度搜到的网站免费的小程序联盟商家版
  • 时尚大气的网站设计wordpress做网站手机
  • 网站建设感悟竞价托管一般多少
  • 最受欢迎国内设计网站浙江大学微纳加工平台
  • 微信对接网站群wordpress到服务器配置
  • ps网站切图教程六安网站制作
  • 带有flash的网站便宜点的WordPress
  • 衡阳县做淘宝网站建设青岛圭谷网站建设公司怎么样
  • 哪个网站可以免费做招牌公司展示型网站
  • 厦门建设工程招标中心的网站个人网页设计与实现论文
  • 网站被k怎么青岛 茶叶网站建设
  • 长乐网站建设wordpress 反爬虫
  • 在线做ppt的网站源代码计算机培训班推荐