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

你了解网站建设吗 软文案例东莞广告公司东莞网站建设价格

你了解网站建设吗 软文案例,东莞广告公司东莞网站建设价格,wordpress怎么加速权限不够,网站后台发布新闻数组#xff0c;逻辑判断以及循环1. 概述 大家好#xff0c;我又来了。今天呢我们继续学习shell相关的知识。还是老样子我们先回顾下上一次【脚本交互 以及表达式】学习到的知识 登录shell 关联配置文件什么是子shellumask 修改默认权限read 基础表达式 简单计算表达式expr 计…数组逻辑判断以及循环1. 概述 大家好我又来了。今天呢我们继续学习shell相关的知识。还是老样子我们先回顾下上一次【脚本交互 以及表达式】学习到的知识 登录shell 关联配置文件什么是子shellumask 修改默认权限read 基础表达式 简单计算表达式expr 计算bc 计算测试 表达式逻辑表达式字符串表达式文件表达式数字表达式测试进阶表达式逻辑组合表达式 我们简单回顾了下上次学习的内容。废话不多说了接下来让我们一起学习新的内容 2. 数组 2.1 格式定义 格式 # 在Shell中用括号来表示数组数组元素用“空格”符号分割开。定义数组的语法格式 array_name(value1 ... valuen)格式解读 单行定义 array_name(value0 value1 value2 value3)多行定义 array_name(value0value1value2value3 )单元素定义 array_name[0]value0 array_name[1]value1 array_name[2]value22.2 具体案例 单行定义案例 [vagrantlocalhost test003]$ echo ${array1}[vagrantlocalhost test003]$ array1(11 22 33 44 55) [vagrantlocalhost test003]$ echo ${array1} 11 [vagrantlocalhost test003]$ echo ${array1[]} 11 22 33 44 55 [vagrantlocalhost test003]$ 多行定义案例 [vagrantlocalhost test003]$ echo ${array2[]}[vagrantlocalhost test003]$ array2() [vagrantlocalhost test003]$ array2(aabbccdd) [vagrantlocalhost test003]$ echo ${array2[]} aa bb cc dd [vagrantlocalhost test003]$ 单元素定义案例 [vagrantlocalhost test003]$ echo ${array3[]}[vagrantlocalhost test003]$ array3[0]bb [vagrantlocalhost test003]$ array3[1]ff [vagrantlocalhost test003]$ array3[2]ee [vagrantlocalhost test003]$ echo ${array3[]} bb ff ee [vagrantlocalhost test003]$ 命令行定义案例 [vagrantlocalhost test003]$ echo ${array4[]}[vagrantlocalhost test003]$ array4$(ls ../) [vagrantlocalhost test003]$ echo ${array4[]} test001 test002 test003 [vagrantlocalhost test003]$ 2.3 多种取值方式 格式 基于索引找内容读取数组元素值可以根据元素的下标值来获取语法格式如下${array_name[index]}${array_name[]:起始位置:获取数量} 注意获取具体的元素内容指定其下标值从0开始获取所有的元素内容下标位置写或者*实例 [vagrantlocalhost test003]$ num_list(123 234 345 456 567) [vagrantlocalhost test003]$ echo ${num_list[]} 123 234 345 456 567 [vagrantlocalhost test003]$ echo ${num_list[]:1:3} 234 345 456 [vagrantlocalhost test003]$ 2.4 获取数组长度 格式 在变量前面添加符号# ${#num_list[0]}实例 [vagrantlocalhost test003]$ echo ${num_list[]} 123 234 345 456 567 [vagrantlocalhost test003]$ echo ${#num_list[]} 5 [vagrantlocalhost test003]$ 2.5 获取系统所数组 格式 declare -a具体实例 [vagrantlocalhost test003]$ declare -a declare -a BASH_ARGC() declare -a BASH_ARGV() declare -a BASH_LINENO() declare -ar BASH_REMATCH() declare -a BASH_SOURCE() declare -ar BASH_VERSINFO([0]4 [1]2 [2]46 [3]2 [4]release [5]x86_64-redhat-linux-gnu) declare -a DIRSTACK() declare -a FUNCNAME() declare -a GROUPS() declare -a PIPESTATUS([0]0) declare -a array1([0]11 [1]22 [2]33 [3]44 [4]55) declare -a array2([0]aa [1]bb [2]cc [3]dd) declare -a array3([0]bb [1]ff [2]ee) declare -a num_list([0]123 [1]234 [2]345 [3]456 [4]567) [vagrantlocalhost test003]$ 2.6 数组替换/ 数组删除 格式 元素内容替换array_name[index]值 注意在修改元素的时候index的值一定要保持准确元素部分内容替换可以参考字符串替换格式${array_name[index]/原内容/新内容} 注意默认是演示效果原数组未被修改如果真要更改需要结合单元素内容替换删除单元素unset array_name[index] 删除整个数组unset array_name具体案例 [vagrantlocalhost test003]$ unset array6 [vagrantlocalhost test003]$ array6(11 22 aa bb cc ddd ggg) [vagrantlocalhost test003]$ echo ${array6} 11 [vagrantlocalhost test003]$ echo ${array6[]} 11 22 aa bb cc ddd ggg [vagrantlocalhost test003]$ array6[0]99 [vagrantlocalhost test003]$ echo ${array6[]} 99 22 aa bb cc ddd ggg [vagrantlocalhost test003]$ array6[5]${array6[5]/ddd/ert} [vagrantlocalhost test003]$ echo ${array6[]} 99 22 aa bb cc ert ggg [vagrantlocalhost test003]$ unset array6[5] [vagrantlocalhost test003]$ echo ${array6[]} 99 22 aa bb cc ggg [vagrantlocalhost test003]$ unset array6 [vagrantlocalhost test003]$ echo ${array6[]}[vagrantlocalhost test003]$ 3. 逻辑判断 3.1 if 判断 3.1.1 格式 单分支格式 单路决策 - 单分支if语句样式if [ 条件 ]then指令fi特点单一条件只有一个输出双分支格式 双路决策 - 双分支if语句样式if [ 条件 ]then指令1else指令2fi特点单一条件两个输出多分支格式 多路决策 - 多分支if语句样式if [ 条件 ]then指令1elif [ 条件2 ]then指令2else指令3fi特点n个条件n1个输出单行格式 单行命令写法if [ 条件1 ]; then 指令1; elif [ 条件2 ]; then 指令2; ... ; else 指令n; fi3.1.2 实例 单行实例 #!/bin/bash# 单个if 判断 gender$1if [ ${gender} 男 ] thenecho 你是男的exit fiecho 你不是男的 双分支实例 #!/bin/bash# 双分支实例gender$1if [ ${gender} nan ] thenecho 你是男的 elseecho 你是女的 fi 多分支实例 #!/bin/bash# 多分支实例gender$1if [ ${gender} nan ] thenecho 你是男的 elif [ ${gender} nv ] thenecho 你是女的 elseecho 我不知道你的性别 fi3.1.3 经典实例 3.1.3.1 奇偶数 判断 #!/bin/bash# 计算判断# 引导客户输入一个数字 read -p 请输入一个数字 num# 判断是基数 还是 偶数 if (( ${num} % 2 0 )) thenecho 你是偶数 elseecho 你是奇数 fi3.1.3.2 正则 判断 #!/bin/bash# 表示正则判断read -p 您输入一个字符串: stringif [[ ${string} v* ]] thenecho 你是满足以v开头的 elseecho 你不满足以v开头 fi3.2 case 判断 格式 case 变量名 in值1)指令1;;...值n)指令n;; esac实例 #!/bin/bash# 进行case 练习判断type$1case ${type} in1)echo 你是1;;2)echo 你是2;;*)echo 你是几我也不知道;; esac3.3 for 循环 格式 循环逻辑语法解析关键字 [ 条件 ]do执行语句done注意这里的关键字主要有四种for - 循环遍历一个元素列表while - 满足条件情况下一直循环下去until - 不满足条件情况下一直循环下去select - 一种特殊的循环遍历侧重于遍历用户输入一般结合case等语句使用实例1遍历命令列表 #!/bin/bash# 进行for循环for i in $(ls /) doecho 您的路径是${i} done实例2遍历参数列表 查看脚本内容 [rootlocalhost ~]# cat for_arg_list.sh #!/bin/bash # 功能脚本参数列表 for循环 for i in $ doecho 列表元素: ${i} done脚本执行后效果 [rootlocalhost ~]# /bin/bash for_arg_list.sh 1 2 3 列表元素: 1 列表元素: 2 列表元素: 33.3.1 多种案例 案例1 #!/bin/bash# 进行循环案例for i in yuwen shuxue lishi doecho 列表元素: ${i} done案例2 #!/bin/bash# 循环for i in {1..3} doecho 元素内容是: ${i} done案例3 #!/bin/bash# 实现脚本参数遍历for i in $ doecho 元素内容是: ${i} done3.3.2 综合实践 随机生成用户 #!/bin/bash# 随机创建用户user_file/tmp/user.txt# 检查是否是文件 [ -f ${user_file} ] ${user_file}# 开始批量创建用户 for i in {1..5} do# 创建密码pwdaaa$RANDOM# 创建用户sudo useradd user-${i}# 设置密码echo ${pwd} | passwd --stdin user-${i} /dev/null 21# 开始输出信息echo 创建账号是: user-${i}, 该用户的密码是: ${pwd}echo -e 创建的账号是: \033[31;41muser-${i}\033[0m 该用户的密码是: \033[31;41m${pwd}\033[0mdone#!/bin/bash# 进行批量的用户删除for i in {1..5} dosudo userdel -r user-${i}echo 用户【user-${i}】删除成功 done对特定的网段的主机进行扫描 #!/bin/bash# 对特定ip进行扫描base_net192.168.56 net_file/tmp/host.txt# 判断文件是否存在 if [ -f ${net_file} ] thensudo echo ${net_file} fifor i in {1..100} do# 开始检测主机host_status$(ping -c1 -W1 ${base_net}.${i} /dev/null 21 echo UP || echo DOWN)sudo echo ${base_net}.${i} 主机状态: ${host_status} ${net_file}sudo echo ${base_net}.${i} 主机状态: ${host_status} done# 输出信息 live_num$(grep UP ${net_file} | wc) unlive_num$(grep DOWN ${net_file} | wc)echo -e \e[31m${netsub}.0 网段主机存活情况\e[0m echo ------------------------------------ echo -e \e[32m${netsub}.0 网段存活主机数量: ${live_num}\e[0m echo -e \e[32m${netsub}.0 网段异常主机数量: ${unlive_num}\e[0m3.3.3 循环赋值 #!/bin/bash# 进行循环赋值all_sum0 odd_sum0 even_sum0for i in {1..100} dolet all_sumi donefor i in {1..100..2} dolet odd_sumi donefor i in {0..100..2} dolet even_sumi doneecho -e 所有的数字之和是: \033[31m${all_sum}\033[0m echo -e 所有的数字之和是: \033[31m${odd_sum}\033[0m echo -e 所有的数字之和是: \033[31m${even_sum}\033[0m3.3.4 (()) 版的双括号的语法 #!/bin/bash# 使用特殊符号(()) 来进行计算all_sum0for ((i0; i100; i1)) dolet all_sumi doneecho -e 计算结果是: \033[31m${all_sum}\033[0m3.3.4.1 综合实践命令行进度条数字 #!/bin/bash# 实现数字进度条for ((i0; i100; i1)) do// 防止信息输出的叠加采用\e[4D每次输出信息的时候光标左移4个位置信息不会出现叠加printf \e[4D%3d%% $isleep 0.1 done3.3.4.2 综合实践实现进度条 #!/bin/bash# 实现数字进度条str# arr(| / - \\)for ((i0; i50; i1)) dolet indexi%4printf [%-50s][%d%%]%c\r $str $(($i*2)) ${arr[$index]}sleep 0.2str# doneecho 3.3.4.3 综合实践保存数字最大值 以及最小值 #!/bin/bash # 设定随机数比大小# 设定基本变量 declare -i min max declare -a nums# 设定大小比较 for ((i0;i10;i)) do# 将随机数添加到数组中nums[$i]$RANDOM# 设定初始值[ $i -eq 0 ] min${nums[0]} max${nums[0]}# 设定最大值[ ${nums[$i]} $max ] max${nums[$i]}# 设定最小值[ ${nums[$i]} $min ] min${nums[$i]} done echo -e \e[31m 随机数的统计信息\e[0m echo ------------------------------ echo -e \e[32m所有的随机数${nums[]} echo -e 最大的随机数${max} echo -e 最小的随机数${min}\e[0m3.4 while 循环 基础语法 场景只要条件满足就一直循环下去while [ 条件判断 ]do执行语句done具体实例 #!/bin/bash# 通过while 循环来执行all_num0 odd_num0 even_num0i0 while (( i 100 )) dolet all_numilet i donei0 while ((i100)) do((odd_numi))((i2)) donei1 while ((i100)) do((even_numi))((i2)) doneecho 累加的和是${all_num} echo 奇数累加的和是: ${odd_num} echo 偶数累加的和是: ${even_num}3.4.1 while read 用法 格式 while中有一种特殊的语法while read line 它可以从文本中逐行读取相关的内容然后存储到一个临时变量line中然后我们后续就可以逐行对文本内容进行操作 样式1 cat提前读 cat a.log | while read line do echo File: ${line} done 实例1 #!/bin/bash# 通过while read 逐行读取i0env | while read line do((i1))echo 第${i}行内容是: ${line} done实例2 exec 0 a.log while read line do echo ${line} done实例3 while read line doecho File: ${line} done a.log3.5 until循环 使用方式跟while保持一致。 格式 场景只要条件不满足就一直循环下去until [ 条件判断 ]do执行语句done3.6 select 条件选择 语法格式 select 变量名 in input_list do 循环语句 done语法解读1 select 从 input_list 获取相关的值然后输出到一个菜单列表元素格式如下序号) 菜单条目2 用户输入信息的标识使用PS3 的值默认值是#?。我们可以定制PS3环境变量3 如果用户输入菜单序号则输出菜单内容4 select的退出方式有很多种强制退出CtrlD 组合键普通退出结合break方式实例1 #!/bin/bash# 通过select 进行简单选择echo 您喜欢的系统是 select osname in HarmonyOS Linux Windows Ubuntu doecho 您选择的系统是: ${osname}exit done实例2 #!/bin/bash# 修改输入指令PS3请选择菜单序号: echo 请输入您喜欢的系统: select osname in os linux window doecho 您选择的操作系统是: ${osname}exit done
http://www.hkea.cn/news/14407510/

相关文章:

  • 怎么建设好一个外贸购物网站东莞手机网站设计公司
  • 一个合格的网站设计4a网站建设公司
  • 网站的基本建设无锡百度竞价
  • 四川网站建设服务公司找方案的网站
  • 建设西安网站获取网站漏洞后下一步怎么做
  • 网站群建设情况河北省招标投标网官网
  • 网站上的qq咨询怎么做天津平台网站建设制作
  • 淘宝客网站做的好的wordpress注册链接修改
  • 企业网站 设计需求优质网站建设在哪里
  • 宁夏城乡建设厅网站wordpress 首页模块
  • 建筑网站建设公司八爪鱼网络网站建设
  • 在网上做贸易哪个网站好谷歌平台推广外贸
  • 天津网站建设 企航互联商洛做网站的公司电话
  • 北京网站制作17页孟津网站建设
  • 设计定制型网站建设沈阳妇科医院排名最好的医院
  • 装修网站模板源码wordpress改主题幻灯片尺寸
  • 网站可以更更换空间吗wordpress英文版安装
  • 网站图片如何优化山东通app官网下载二维码
  • 专业做冻货的网站深圳网站建设网络
  • 深圳网站开发外包wordpress页面构建
  • 企业移动网站品牌c2c网站功能
  • 免费做二建题的网站计算机哪方面技术吃香
  • 苏州网络推广苏州网站建设网站建设项目报价
  • 网站制作建立速橙科技有限公司网站建设
  • 做视频编辑哪个网站素材比较好装修设计公司网站排名
  • 做地方网站需要什么部门批准网站的公司
  • 全国网站排名新材建设局网站
  • 中国建设银行的网站特色双wan路由器做网站接入
  • 做肯德基玻璃门网站兰州网站设计
  • 杭州市上城区建设局网站wordpress rclean