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

三合一网站指的是什么意思网站制作 优帮云

三合一网站指的是什么意思,网站制作 优帮云,网站系统功能流程图,免费的tickle网站4.7输入read C语言中的输入 int a; scanf(%d,a); C中的输入 int a; cin a;shell中的输入: read var1 ----从终端输入var1的值 read -p 提示信息 变量 -----在用户输入前输出提示信息 read -s 变量 ----输入时不会回显…4.7输入read C语言中的输入 int a; scanf(%d,a); C中的输入 int a; cin a;shell中的输入: read var1 ----从终端输入var1的值 read -p 提示信息 变量 -----在用户输入前输出提示信息 read -s 变量 ----输入时不会回显 read -t 秒数 变量 ------如果n秒内不输入就结束读取 read -n 个数 变量 ------输入n个字符后就结束读取思考 read的4个参数能否结合使用 read -sp 请输入一个变量 -t 4 -n 5 var4.8命令置换符 作用把指令的运行结果赋值给变量 法一 (反引号常用) ~不按shift就能打出反引号 法二 $()练习 1、输出/etc/passwd中查找到的sys用户的行号用变量保存行号并输出。 vargrep -nw sys /etc/passwd |cut -d : -f 1 echo $var 五数组 shell支持稀疏数组 5.1定义 int arr[]{2,4,7}; int arr1[4]{0}; shell中数组 数组名(初始值1 初始值2 初始值3 ·····) #shell中的数组使用()包含初始化列表 #shell中数组的每个元素的间隔是空格不是逗号 数组名([下标]初始值1 [下标]初始值2 [下标]初始值3 ······)5.2访问数组中的元素 数组中存储多个数据下标仍然从0开始还是通过下标访问 ${数组名[下标]} -----获取数组中元素的值 arr[0]89 ------给arr数组中下标为0的元素赋值5.3获取数组中元素的个数 ${arr[]} -----获取数组中的所有元素 ${arr[*]} -----获取数组中的所有元素${#arr[*]} -----获取数组中所有元素的个数 ${#arr[0]} -----下标为0的元素包含的字符的个数#!/bin/bash arr(1 5 7 10) arr1([0]100 [5]90 [9]7) echo ${arr[3]} echo ${arr1[5]} #echo ${arr1[3]} #是一个空值arr1中没有下标为3的元素 echo ${#arr[*]} echo ${#arr1[*]} #echo ${arr[*]} #echo ${arr[]}#给arr1这个稀疏数组添加下标为2的元素 arr1[2]200 echo ${arr1[2]} #添加元素后检验数组中元素的个数 echo ${#arr1[*]}思考 1、shell中是否可以使用已有的数组给新的数组赋值 2、如果输出echo ${#arr[0]} ----输出的结果是什么 下标为0的元素有多少个字符 5.4使用已有的数组给新的数组赋值 拿到已有数组的所有元素给新的数组 arr(12 90 100) #使用arr给arr1数组赋值 arr1(${arr[*]}) ----数组元素需要加()arr2(h e l) arr3(${arr[*]}${arr2[*]}) ----100和h是连在一起的元素arr3中元素的个数5 arr3(${arr[*]} ${arr2[*]}) ----100和h是分开的两个元素arr3中元素的个数6练习 1、使用数组求外部参数的个数不可以直接使用$# #!/bin/bash a($*) echo ${#a[*]}2、使用数组求家目录下文件的个数包括隐藏文件 #!/bin/bash arr($(ls ~/ -a)) echo ${#arr[*]} echo ${arr[*]}六、shell中的算数运算 shell本身擅长执行指令不擅长做运算shell中的运算需要借助于指令 *(()) * $[] let expr 6.1使用(())进行算数运算 shell中支持幂运算 ** 格式((表达式1,表达式2,表达式3,······))每一个语句都会运行取最后一个语句的结果 (())常用于整形数据的运算 (())内使用变量的值可以加$也可以不加$ (())内运算符两侧可以加空格也可以不加空格 (())支持几乎所有C语言的语法 获取(())的运算结果$(())如果想把运算的结果赋值给变量变量名$(())还可以((变量名表达式))练习 1、终端输入3位的变量输出两个变量相加的结果 #!/bin/bash read -n 3 var1 echo read -n 3 var2 echo $((var1 $var2))2、计算root用户的uid和ubuntu用户的gid相加的结果 #!/bin/bash ridid -u root gidid -g ubuntu echo $((ridgid))6.2使用$[]进行算术运算 格式变量名$[表达式1,表达式2,表达式3,······]取最后一个表达式的结果 $[]运算时变量可以加$也可以不加 运算符两侧可以加空格也可以不加空格 仍然支持幂运算#!/bin/bash ridid -u root gidid -g ubuntu ret$[gid**rid] echo $ret6.3使用let进行算数运算 let 变量名表达式let运算时变量名一定和let间要有空格 使用变量的值可以加$可以不加$ 运算符两侧不能有空格 let一定要放在指令最前面的位置#!/bin/bash ridid -u root gidid -g ubuntu ret$[gid**rid] echo $retlet ret1$ridgid echo $ret1练习 1、终端输入两个变量分别使用$[]和let计算相加的结果 read -p “请输入一个变量” var1 read -p “请输入一个变量” var2 echo $[var1var2] let retvar1var2 echo $ret 6.4expr运算 -----是指令 格式expr 表达式 使用变量时必须加$ 运算符两侧一定要加空格 expr不支持幂运算也不支持自增自减运算 expr在使用时某些字符需要转义\|\.\*·······判断在字符是否需要转义可以现在命令行敲出该指令 由于expr是一条指令指令的结果需要使用命令置换符接收 expr指令会自动回显指令的运行结果到终端 expr支持的更多运算ARG1 | ARG2 若ARG1 的值不为0则返回ARG1否则返回ARG2ARG1 ARG2 若两边的值都不为0则返回ARG1否则返回 0ARG1 ARG2 ARG1 小于ARG2 #需要转义ARG1 ARG2 ARG1 小于或等于ARG2ARG1 ARG2 ARG1 等于ARG2ARG1 ! ARG2 ARG1 不等于ARG2ARG1 ARG2 ARG1 大于或等于ARG2 #需要转义ARG1 ARG2 ARG1 大于ARG2#!/bin/bash var1100 var29 expr $var2 \ $var1 expr $var2 \ $var1 expr $var2 \ $var1expr可以进行的字符串运算 expr match $str1 $str2返回str2在str1中完全匹配到的个数 expr substr STRING POS LENGTH截取子串从string的第pos位开始截取长度为length的子串pos从1开始 expr index STRING CHARS返回字符在string中第一次出现的位置如果跟了多个字符返回最先的字符的位置 expr length STRING返回字符串的长度#!/bin/bash str1hello str2hei expr match $str1 $str2 expr substr $str1 2 3 #ell expr index $str1 lehp #1,因为h在hello中最先出现 expr length $str1练习 1、求家目录下第二个文件的文件名长度(使用expr) #!/bin/bash arr(ls ~) #先把家目录下的文件放在数组中 expr length ${arr[1]}#求数组中第二个而元素的长度2、终端输入一个文件名截取出文件的后缀(使用expr) read var1 posexpr index $var1 .#从pos1开始截取的原因是不把.截取出来 expr substr $var1 $((pos1)) 33、终端输入网址www.hqyj.com要求截取出网址的每个部分 www hqyj com 并且放在数组中 #!/bin/bash read -p 请输入一个网址 net posexpr index $net . arr[0]expr substr $net 1 $((pos-1)) #截取到www放入数组中 #求输入网址的长度 lenexpr length $net #截取出除www.外的其他部分 str2expr substr $net $((pos1)) $len#找剩余部分.出现的位置 pos2expr index $str2 .#截取出网址里两个.中间的部分 arr[1]expr substr $str2 1 $((pos2-1))#截取出最后剩余的部分 arr[2]expr substr $str2 $((pos21)) $lenecho ${arr[0]} echo ${arr[1]} echo ${arr[2]}七、shell中的分支结构 7.1if分支 C语言中的if if(条件1) {条件1成立执行的代码块; } else if(条件2) {条件1不成立但是条件2成立执行的代码块; }shell中的if 单分支if if [ test表达式 ] ----- if test 表达式 thentest表达式成立执行的语句 fi双分支 if [ test表达式 ] ----- if test 表达式 thentest表达式成立执行的语句 elsetest表达式不成立执行的语句 fi 多分支if if [ test表达式 ] ----- if test 表达式 thentest表达式成立执行的语句 elif [ test表达式 ] thentest表达式不成立执行的语句 fi []和[[]]的区别 []是所有解析器都通用的test指令 [[]]只支持部分shell解析器 [[]]]内可以正确识别字符串的范围 []test本身不能正确识别字符串的范围需要给字符串加 [[]]内可以i使用和||但是[]只能使用test的参数7.2test指令的使用 i对于整数的操作 -eq:相等 -ge:大于等于 -gt:大于 -le:小于等于 -lt:小于 -ne:不等于#!/bin/bash var1100 var2100if [ $var1 -gt $var2 ] then #then表示if语句的开始echo var1var2 elif [ $var1 -eq $var2 ] thenecho var1var2 elseecho var1var2 fi #fi表示if语句的结束练习 1、终端输入年份判断闰平年四年一闰百年不闰四百年再闰 #!/bin/bash read -p 请输入年份 year#if [ $((year%4)) -eq 0 ] [ $((year%100)) -ne 0 ] || [ $((year%400)) -eq 0 ] #if [[ $((year%4)) -eq 0 $((year%100)) -ne 0 || $((year%400)) -eq 0 ]] if [ $((year%4)) -eq 0 -a $((year%100)) -ne 0 -o $((year%400)) -eq 0 ] thenecho ${year}是闰年 elseecho ${year}是平年 fiiitest指令中的逻辑与和逻辑或 -a:和C中的逻辑与相同 -o:和C中的逻辑或相同iiitest对于字符串的判断 -n STRING:判断字符串非空 -z STRING:判断字符串为空 STRING1 STRING2:判断两个字符串相等 STRING1 ! STRING2:判断两个字符串不相等ivtest对文件的判断 FILE1 -nt FILE2:f1的时间戳比f2的更新 FILE1 -ot FILE2:f1的时间戳比f2的更旧 -e FILE:判断文件是否存在 -f FILE:文件存在是一个普通文件 -s FILE:文件存在且有内容 -S FILE:文件存在且为套接字文件 -L/-h FILE:文件存在且为软链接文件 -p FILE:文件存在且为管道文件 -b FILE:文件存在且为块设备文件 -c FILE:文件存在且为字符设备文件 -r FILE:文件存在有可读权限 -w FILE:文件存在有可写权限 -x FILE:文件存在有可执行权限判断家目录下普通文件的个数和目录文件的个数 #!/bin/bash var(ls -la ~/) var1(ls -la ~/ | cut -d r -f 1 | grep -i d) var2(ls -la ~/ | cut -d r -f 1 | grep -i -) echo ${#var[*]} echo ${#var1[*]} echo ${#var2[*]}输入一个文件名判断是否为shell脚本文件如果是脚本文件判断是否有可执行权限如果有可执行权限运行文件如果没有可执行权限给文件添加可执行权限。 #!/bin/bash read -p 请输入一个文件名 filename lengthexpr length ${filename} fileTypeexpr substr ${filename} $((length-2)) 3 echo ${length} echo ${fileType} authoritygetfacl ${filename} echo ${authority} userAuthcut -d -f 10 ${authority} echo ${userAuth} if [ $fileType .sh ] then echo 是shell脚本#bash ${filename} elseecho 不是shell脚本 fi终端输入两文件名判断哪一个文件更新 #!/bin/bash read -p 请输入文件名1 file1 read -p 请输入文件名2 file2 if [ file1 -nt file2 ] thenecho ${file1} newer than ${file2} elseecho ${file1} older than ${file2} fi写一个shell脚本获取当前用户名用户id和工作路径 #!/bin/bash whoami echo whoami | id -u echo pwd
http://wiki.neutronadmin.com/news/184950/

相关文章:

  • android做网站wordpress mu 下载
  • 跨境电商购物网站网站建设优化项目
  • 设计网站下载2023年企业所得税税收优惠政策
  • 网站建设的技术团队电脑网页无法访问如何解决
  • 做视频在线观看网站广东圆心科技网站开发网站模板设计
  • 个人网站怎么做代码WordPress模版二次元
  • 建个电子商务网站多少钱如何用dw做网站前端
  • 淘客做自己的网站软件项目实施流程
  • 惠州淡水网站建设公司深圳网站设计公司怎么样
  • wdcp 网站备份wordpress4.7无法安装
  • ps做网站动图东莞营销型网站建站
  • wap网站设计规范什么是三合一网站建设
  • 公司的网站怎么建设360建筑网忘记登入密码了怎么办
  • 通过邮箱查注册网站网络推广是什么职位
  • 商城网站的功能学网站开发多少钱
  • seo矩阵培训东莞债优化
  • 查看网站外链代码wordpress 还原
  • 怎样建设网站是什么做网站的困难
  • 网站模板开发主要作用网站页面创意
  • 专业做财务公司网站济南市住房和城乡建设局官网
  • 华为云助力企业网站安全保障优秀企业网站案例
  • 网站seo工具wordpress 下载文件
  • 合肥有哪些做网站的公司wordpress前端
  • 网站开发的程序平台重点实验室网站建设的意义
  • a8新媒体的案例免费seo快速收录工具
  • 超大型网站建设购物网站开发历史
  • 郴州网站建设培训个人网站建设与企业网站
  • iis配置网站phpwordpress全站同一个标题
  • 如何建设网站方便后期维护北京口碑最好的教育机构
  • 成都网站建设益友网络wordpress手机号码登录