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

普通电脑如何做网站服务器吗家具设计ppt

普通电脑如何做网站服务器吗,家具设计ppt,广州番禺最新头条消息,旅行社网站程序九、shell 编程-数组 普通数组:只能用整数作为数组的索引 关联数组:可以使用字符串作为数组的索引 数组定义 普通数组定义: [rootnewrain shell]# books( linux shell awk sed ) 引用: [rootnewrain shell]# echo ${books[0]} linux [rootnewrain shell]# echo ${books[1]… 九、shell 编程-数组 普通数组:只能用整数作为数组的索引 关联数组:可以使用字符串作为数组的索引 数组定义 普通数组定义: [rootnewrain shell]# books( linux shell awk sed )   引用: [rootnewrain shell]# echo ${books[0]} linux [rootnewrain shell]# echo ${books[1]} shell [rootnewrain shell]# echo ${books[2]} awk ​ 关联数组需要提前声明 declare -A myarry1 [rootnewrain shell]# declare -A myarry1 [rootnewrain shell]# myarry1([name]newrain [sex]man [age]26) [rootnewrain shell]# echo ${myarry1[name]} newrain [rootnewrain shell]# echo ${myarry1[age]} 26 定义方法1:# declare -a myarry(5 6 7 8) # echo ${myarry[2]}显示结果为 7定义方法2:# array( one two three four five six )# array2(tom jack alice)# array3(cat /etc/passwd)# array4(tom jack alice bash shell)# array5(1 2 3 4 5 6 7 linux shell [20]saltstack)定义方法3: # 普通数组下标只能是数字 #!/bin/bash area[11]23 area[13]37 area[51]UFOs 访问数组 当设置任何数组变量时可以访问它 [rootnewrain shell]# aa(haha heihei baibai) [rootnewrain shell]# echo ${aa[0]}   //访问数组中的第一个元素 [rootnewrain shell]# echo ${aa[]} //访问数组中所有的元素等同与echo ${aa[*]} [rootnewrain shell]# echo ${#aa[]}   //统计元素的个数 [rootnewrain shell]# echo ${!aa[]}   //统计索引 ${array_name[index]} //引用 示例 #!/bin/bash NAME[0]BJ NAME[1]SH NAME[2]SZ NAME[3]GZ NAME[4]HZ NAME[5]ZZ echo First Index: ${NAME[0]} echo Second Index: ${NAME[1]} echo sixth Index: ${NAME[5]} 输出结果为 $./test.sh First Index: BJ Second Index: SH sixth Index: ZZ 您可以访问数组中的所有项目通过以下方式之一: ${array_name[*]} ${array_name[]} 示例 #!/bin/sh NAME[0]BJ NAME[1]SH NAME[2]SZ NAME[3]GZ NAME[4]HZ echo First Index: ${NAME[*]} echo Second Index: ${NAME[]} 输出结果 $./test.sh First Index: BJ SH SZ GZ HZ Second Index: BJ SH SZ GZ HZ 疑难点 shell数组中* 和 区别 关于在shell脚本中数组变量中 “*”跟 “” 区别 “*”当变量加上“” 会当成一串字符串处理. “”变量加上“” 依然当做数组处理. 在没有加上“” 的情况下 效果是等效的. 示例 #!/usr/bin/env bash array(gz cloud 19) echo case 1 for line in ${array[]} doecho $line done ​ echo case 2 for line in ${array[*]} doecho $line done ​ echo case 3 for line in ${array[*]} doecho $line done ​ echo case 4 for line in ${array[]} doecho $line done 执行结果 case 1 gz cloud 19 case 2 gz cloud 19 case 3 gz cloud 19 case 4 gz cloud 19 遍历数组while [rootnewrain array]# cat array01.sh #!/bin/bash # i 是先自加1后赋值;i 是先赋值后自加1。 while read line do     host[i]$line  # 观察i 和 i的区别 done /etc/hosts for i in ${!host[]}   # 数组的元素索引 doecho $i:${host[i]} done 遍历数组for [rootnewrain array]# cat array02.sh #!/bin/bash IFS for line in cat /etc/hosts  # 读取文件中的每一行 dohost[j]$line done for i in ${!host[]} doecho ${host[i]} done 以上两个脚本都是读取文件中的行然后加到一个数组中并进行遍历。 ​ 练习题:统计shell的种类和数量 思路最后一列的sh种类不同我们可以单独取出最后一列 /etc/passwd十、正则表达式RE 正则表达式基本元字符 正则表达式拓展元字符 用来处理文本 正则表达式(Regular Expression, RE)是一种字符模式, 用于在查找过程中匹配指定的字符. 在大多数程序里, 正则表达式都被置于两个正斜杠之间; 例如/l[oO]ve/就是由正斜杠界定的正则表达式, 它将匹配被查找的行中任何位置出现的相同模式. 在正则表达式中,元 字符是最重要的概念 元字符使正则表达式具有处理能力。所谓元字符就是指ß那些在正则表达式中具有特殊意义的专用字符可以用来规定 其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。 No.1 正则表达式基本元字符 基本正则表达式元字符 元字符 示例                     功能 ^                       行首定位符 ^love ​ $                       行尾定位符 love$ ​ .                       匹配单个字符 l..e   ​ *                       匹配前导符0到多次 ab*love ​ .*                     匹配任意多个字符 (贪婪匹配 ​ []                     匹配方括号中任意一个字符 [lL]ove ​ [ - ]                   匹配指定范围内的一个字符 [a-z0-9]ove             ​ [^]                     匹配不在指定组里的字符 [^a-z0-9]ove ​ \                       用来转义元字符 love\.   \n ​ ​ \                     词首定位符 #由数组或字母组成的 \love ​ \                     词尾定位符 love\ ​ \(\)                   匹配后的标签   # 在vim中测试 No.2正则表达式拓展元字符 等于 ! 不等于  ~ 匹配 扩展正则表达式元字符匹配一个或多个前导字符 [a-z]ove ​ ?                       匹配零个或一个前导字符 lo?ve ​ a|b                     匹配a或b love|hate ​ ()                     组字符loveable|rs love(able|rs) ov ov (ov) ​ (..)(..)\1\2           标签匹配字符  # (love)able\1er ​ x{m}                   字符x重复m次 o{5} ​ x{m,}                   字符x重复至少m次 o{5,} ​ x{m,n}                 字符x重复m到n次 o{5,10} 十一、shell 编程-grep egrep 支持正则表达式的拓展元字符 或grep  -E #egrep [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} file1.txt [rootnewrain ~]# num11 1、运用正则判断需要[[ ]] [rootnewrain ~]# [[ $num1 ~ ^[0-9]$ ]] echo yes || echo no yes [rootnewrain ~]# num31b1 [rootnewrain ~]# [[ $num3 ~ ^[0-9]$ ]] echo yes || echo no no [rootnewrain ~]# [[ $num ~ ^[0-9]\.[0-9]$ || $num ~ ^[0-9]$ ]] echo yes || echo no       //输入的只能是数字(包括小数) ​ 2、* 0或多个 [rootnewrain ~]# useradd abrt [rootnewrain ~]# grep abc* /etc/passwd abrt:x:1041:1041::/home/abrt:/bin/bash ​ 3、\ 词首定位符号 \词尾定位符号 [rootnewrain ~]# cat jack.txt Jack JACK JAck jackly :% s/\[Jj]ack\/123/g ​ 4、^以什么开头 [rootnewrain ~]# grep ^root /etc/passwd root:x:0:0:root:/root:/bin/bash ​ 5、$以什么结尾 [rootnewrain ~]# grep bash$ /etc/passwd root:x:0:0:root:/root:/bin/bash confluence:x:1000:1000:Atlassian Confluence:/home/confluence:/bin/bash to:x:1003:1003::/home/to:/bin/bash ​ 6、. 匹配单个字符 [rootnewrain ~]# grep r..t /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin dockerroot:x:998:995:Docker User:/var/lib/docker:/sbin/nologin [rootnewrain ~]# grep r.t /etc/passwd operator:x:11:0:operator:/root:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin ​ 7、.* 任意多个字符 [rootnewrain ~]# grep r.*t /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin dockerroot:x:998:995:Docker User:/var/lib/docker:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin abrt:x:1041:1041::/home/abrt:/bin/ ​ 8、[] 匹配方括号中的任意一个字符 [rootnewrain ~]# grep Root /etc/passwd [rootnewrain ~]# grep [Rr]oot /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:998:995:Docker User:/var/lib/docker:/sbin/nologin ​ 9、[ - ] 匹配指定范围内的一个字符 [rootnewrain ~]# grep [a-z]oot /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:998:995:Docker User:/var/lib/docker:/sbin/nologin ​ 10、[^] 匹配不在指定组内的字符,取反得意思 [rootnewrain ~]# grep [^0-9]oot /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:998:995:Docker User:/var/lib/docker:/sbin/nologin ​ [rootnewrain ~]# grep [^0-9A-Z]oot /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:998:995:Docker User:/var/lib/docker:/sbin/nologin [rootnewrain ~]# grep [^0-9A-Za-z]oot /etc/passwd [rootnewrain ~]# [rootnewrain ~]# useradd Root [rootnewrain ~]# grep [a-z]oot /etc/passwd       root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:998:995:Docker User:/var/lib/docker:/sbin/nologin Root:x:1042:1042::/home/Root:/bin/bash [rootnewrain ~]# grep ^[rc]oot /etc/passwd root:x:0:0:root:/root:/bin/bash ^在[]内表示取反^在[]外表示以什么开头 ​ 11、\(\)匹配后的标签 [rootnewrain ~]# cat file1.txt IPADDR192.168.1.123 GATEWAY192.168.1.1 NETMASK255.255.255.0 DNS114.114.114.114 :% s#\(192.168.1.\)123#\12# :% s#\(192.\)\(168.\)\(1.\)2#\1\2\35# :% s\(192.\)\(168.\)\(1.\)\(5\)#\1\26.\4# ​ 扩展正则表达式元字符匹配一个或多个前导字符 [a-z]ove ?                       匹配零个或一个前导字符 lo?ve a|b                     匹配a或b love|hate (..)(..)\1\2           标签匹配字符 (love)able\1er x{m}                   字符x重复m次 o{5 x{m,}                   字符x重复至少m次 o{5,} x{m,n}                 字符x重复m到n次 o{5,10} ​ 1、 匹配一个或多个前导字符 [rootnewrain ~]# egrep rot /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:998:995:Docker User:/var/lib/docker:/sbin/nologin 2、? 匹配零个或一个前导字符 [rootnewrain ~]# egrep ro?t /etc/passwd abrt:x:1041:1041::/home/abrt:/bin/bash ​ 3、a|b   匹配a或b [rootnewrain ~]# netstat -anlp|egrep :80|:22 [rootnewrain ~]# egrep root|alice /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:998:995:Docker User:/var/lib/docker:/sbin/nologin ​ 4、x{m} 字符x重复m次 [rootnewrain ~]# cat a.txt love love. loove looooove [rootnewrain ~]# egrep o{2} a.txt loove looooove [rootnewrain ~]# egrep o{2,} a.txt loove looooove [rootnewrain ~]# egrep o{6,7} a.txt 扩展 .*: 贪婪匹配 grep是过滤一行 -z 变成一行 美化脚本31、32、33红绿黄 echo -e \e[032m[软件包安装] $line\e[0m [rootlocalhost xa_day3]# echo -e \e[031m[我爱你] $line\e[0m 周六 远程调用变量这样写
http://www.zqtcl.cn/news/390980/

相关文章:

  • 网站制作报价图片欣赏杭州做网站价格
  • 帮人家做家务的网站host绑定网站
  • 地方门户网站盈利模式这样做微信网站
  • 企业网站要怎么做wordpress w3
  • 网站备案帐号找回密码seo优化工作有哪些
  • 美橙网站建设教程网站建站系统
  • 湖北网站建设公司哪家好重庆建站模板平台
  • 青岛企业建站最新上线的手游
  • 织梦网站wap精品下载
  • 专业做包装的电商网站搜索推广图片
  • 淘客网站佣金建设怎么制作网站页面
  • 网站数据库 mysql如何构建wordpress
  • 牙克石网站建设宁波pc营销型网站制作
  • 具有营销价值好的网站深圳工程建设服务网
  • 全flash网站源码app软件开发公司员工守则
  • 曹鹏wordpress建站seo视频本溪做网站的公司
  • 提示网站有风险老电脑做网站服务器
  • 怎么做网站导航外链出入青岛最新通知今天
  • 济宁房产网站建设海外电商怎么做如何从零开始
  • 网站优化插件中国建设银采购发文网站
  • 重庆企业网站的推广电力建设集团网站
  • 长沙制作网站词条有哪些网站可以做
  • 网站 网页区别简单的网页设计作品
  • 济南做网站推广有哪些公司天津建设工程信息网官方
  • 番禺市桥网站建设有关网站建设的知识
  • 信用中国 网站 支持建设怎么做网站美工
  • 做网站怎么样引流郑州最好的妇科医院排行
  • 云软件网站建设做仓单的网站
  • 邯郸做移动网站报价注册公司流程流程图
  • linux部署wordpress福州短视频seo推荐