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

网站的程序怎么做的南京教育网站开发

网站的程序怎么做的,南京教育网站开发,一个软件开发的流程,管理课程培训小阿轩yx-Shell编程之条件语句 条件测试操作 Shell 环境根据命令执行后的返回状态值#xff08;$?#xff09;来判断是否执行成功 返回值 为 0 时#xff1a;表示成功否则#xff08;非 0 值#xff09;表示失败或异常 测试工具 test 命令#xff0c;对特定条件进行…小阿轩yx-Shell编程之条件语句 条件测试操作 Shell 环境根据命令执行后的返回状态值$?来判断是否执行成功 返回值 为 0 时表示成功否则非 0 值表示失败或异常 测试工具 test 命令对特定条件进行测试并根据返回值来判断条件是否成立返回值为 0 表示条件成立。 test 测试命令包括以下两种形式 # 至少应有一个空格 格式1test 条件表达式 格式2[ 条件表达式 ] test 条件表达式[ 条件表达式 ] 注两种方式的作用完全相同但通常后一种形式更为常用也更贴近编程习惯需要注意方括号“[”或“]”与条件表达式之间需要至少一个空格进行分隔 测试条件类别不同条件表达式也不同 常用的条件操作包括 文件测试整数值比较字符串比较以及针对多个条件的逻辑测试 文件测试 [ 操作符 文件或目录 ] [rootlocalhost ~]# [ -d /media/cdrom ] [rootlocalhost ~]# echo $? 0 # 返回0表示条件成立 [rootlocalhost ~]# [ -d /media/cdrom/Server ] [rootlocalhost ~]# echo $? 0 # 返回1表示条件成立 [rootlocalhost ~]# [ -d /media/cdrom/Server ] [rootlocalhost ~]# echo $? 1 [rootlocalhost ~]# [ -d /media/cdrom ] echo YES # 无输出表示不存在 [rootlocalhost ~]# [ -d /media/cdrom ] echo YES YES 根据给定的路径名称判断对应的是文件还是目录或者判断文件是否可读、可写、可执行 文件测试的常见操作选项 -d测试是否为目录Directory-e测试目录或文件是否存在Exist-f测试是否为文件File-r测试当前用户是否有权限读取Read-w测试当前用户是否有权限写入Write-x测试是否设置有可执行Excute权限 整数值比较 [ 整数1 操作符 整数2 ] [rootlocalhost ~]# unumwho | wc -l [rootlocalhost ~]# [ $unum -gt 5 ] echo Too many [rootlocalhost ~]# [ $unum -gt 0 ] echo Too many Too many\\ 可用内存空间 [rootlocalhost ~]# freecc$(free -m | grep Mem | awk {print $4$6}) \\ 小于某值后输出具体的值1269MB [rootlocalhost ~]# [ $freecc -lt 2048 ] echo ${freecc}MB 根据给定的两个整数值判断第一个数与第二个数的关系如是否大于、等于、小于第二个数 注整数值比较在 Shell 脚本编写中的应用较多 -eq第一个数等于Equal第二个数-ne第一个数不等于Not Equal第二个数-gt第一个数大于Greater Than第二个数-lt第一个数小于Lesser Than第二个数-le第一个数小于或等于Lesser or Equal第二个数-ge第一个数大于或等于Greater or Equal第二个数 注[ 选项 ]中括号前后要有空格 字符串比较 [ 字符串1 字符串2 ] [ 字符串1 ! 字符串2 ] [ -z 字符串 ] \\ 当前的语言环境 [rootlocalhost ~]# echo $LANG zh_CN.UTF-8 \\ 字符串比较测试 !前后有空格 [rootlocalhost ~]# [ LANG ! en.US ] echo not en.US not en.US[rootlocalhost ~]# read -p 是否覆盖现有文件(yes/no)? ACK 是否覆盖现有文件(yes/no)?yes [rootlocalhost ~]# [ $ACK yes ] echo 覆盖 覆盖 [rootlocalhost ~]# read -p 是否覆盖现有文件(yes/no)? ACK 是否覆盖现有文件(yes/no)?no [rootlocalhost ~]# [ $ACK no ] echo 不覆盖 不覆盖 通常用在 检查用户输入系统环境等是否满足条件 在交互式操作Shell 脚本中也可用来判断用户输入的位置参数是否符合要求 常用操作选项 第一个字符串与第二个字符串相同!第一个字符串与第二个字符串不相同其中“!”符号表示取反-z检查字符串是否为空Zero对于未定义或赋予空值的变量将视为空串 逻辑测试 格式1[ 表达式1 ] 操作符 [ 表达式2 ] ... 格式2命令1 操作符 命令2 ... [rootlocalhost ~]# uname -r 2.6.32-431.el6.x86_64 [rootlocalhost ~]# Mnum$(uname -r | awk -F. {print $1}) [rootlocalhost ~]# Snum$(uname -r | awk -F. {print $2}) [rootlocalhost ~]# [ $Mnum -eq 2 ] [ $Snum -gt 4 ] echo 符合要求 符合要求 判断两个或多个条件之间的依赖关系使用时放在不同的测试语句或命令之间 常用的逻辑测试操作 逻辑与表示“而且”只有当前后两个条件都成立时整个测试命令的返回值才为 0结果成立。使用 test 命令测试时“”可改为“-a”||逻辑或表示“或者”只要前后两个条件中有一个成立整个测试命令的返回值即为 0结果成立。使用 test 命令测试时“||”可改为“-o”!逻辑否表示“不”只有当指定的条件不成立时整个测试命令的返回值才为 0结果成立 注“”和“||”通常也用于间隔不同的命令操作作用是相似的 if 条件语句 使用专用的 if 条件语句好处 可以更好地整理脚本结构使得层次分明清晰易懂 if 语句的结构 是最为常用的一种流程控制方式根据特定的条件测试结果分别执行不同的操作如果……那么……。根据不同的复杂程度 三种基本类型 单分支 if 语句指的是不同测试结果所对应的执行语句一条或多条。对于单分支的选择结构只有在“条件成立”时才会执行相应的代码否则不执行任何操作双分支 if 语句要求针对“条件成立”“条件不成立”两种情况分别执行不同的操作多分支 if 语句可以根据测试结果的成立、不成立分别执行操作所以能够嵌套使用进行多次判断 if 语句应用示例 单分支 if 语句应用只判断一个成立或者不成立的条件双分支 if 语句应用只是在单分支的基础上针对“条件不成立”的情况执行另一种操作而不是“坐视不管”地不执行任何操作多分支 if 语句应用能够根据多个互斥的条件分别执行不同的操作实际上等同于嵌套使用的 if 语句 单分支结构 \\ 编辑配置文件 [rootlocalhost ~]# vim chkmountdir.sh \\ 判断挂载点目录若不存在则自动创建 MOUNT_DIR/media/cdrom/ #!/bin/bash if 条件测试操作then 命令序列 fi if 已用磁盘空间80%then 报警 fi \\ 添加执行权限 [rootlocalhost ~]# chmod x chkmountdir.sh \\ 判断挂载点是否存在 [rootlocalhost ~]# ./chkmountdir.sh 双分支结构 if 条件测试操作then 命令序列1else 命令序列2 fi if 80端口是否在监听then 网站服务已在运行else 启动httpd服务 fi 判断目标主机是否存活显示检测结果 [rootlocalhost ~]# vim pinghost.sh #!/bin/bash ping -c 3 -i 0.2 -W 3 $1 /dev/null if [ $? -eq 0 ]thenecho Host $1 is up. elseecho Host $1 is down. fi \\ 添加执行权限 [rootlocalhost ~]# chmod x pinghost.sh 多分支结构  if 条件测试操作1then 命令序列1 elif 条件测试操作2 then 命令序列2 else命令序列3 fi if 分数为85~100之间then 判为优秀 elif 分数为70~84之间then 判为合格 esle判为不合格 fi 判断分数范围分出优秀、合格、不合格三档 [rootlocalhost ~]# vim gradediv.sh #!/bin/bash read -p 请输入您的分数0-100: GRADE if [ $GRADE -ge 85 ] [ $GRADE -le 100 ]thenecho $GRADE 分优秀 elif [ $GRADE -ge 70 ] [ $GRADE -le 84 ]thenecho $GRADE 分合格 elseecho $GRADE 分不合格 fi \\ 添加执行权限 [rootlocalhost ~]# chmod x gradediv.sh case 分支语句 优点 使脚本程序结构更加清晰层次分明 case 语句的结构 适用于以下情况 某个变量存在多种取值需要对其中的每一种取值分别执行不同的命令序列。这种情况与多分支的 if 语句非常相似只不过 if 语句需要判断多个不同的条件而 case 语句只是判断一个变量的不同取值关键字 case 后面跟的是“变量值”即“$变量名” 使用 case 分支语句值得注意的特点 case 行尾必须为单词“in”每一模式必须以右括号“)”结束双分号“;;”表示命令序列的结束模式字符串中可以用方括号表示一个连续的范围如“[0-9]”还可以用竖杠符号“|”表示或如“A|B”最后的“*)”表示默认模式其中的*相当于通配符 case 语句应用示例 case 变量值 in 模式1)命令序列1;; 模式2)命令序列2;;…… * )默认命令序列 esac case 分数 in 85~100)判为优秀;; 70~84判为合格;;...... *)判为不合格 esac [rootlocalhost ~]# vim hitkey.sh #!/bin/bash read -p 请输入一个字符并按Enter键确认 KEY case $KEY in[a-z]|[A-Z])echo 您输入的是 字母.;;[0-9])echo 您输入的是 数字.;;*)echo 您输入的是 空格、功能键或者其他控制字符. esac 添加权限 [rootlocalhost ~]# chmod ax hitkey.sh 测试并确认结果  [rootlocalhost ~]#./hitkey.sh 请输入一个字符并按Enter键k 您输入的是 字母 k. ...... 检查用户输入的字符类型 提示用户从键盘输入一个字符通过 case 语句判断该字符是否为字母、数字或者其他控制字符给出相应的提示信息 编写系统服务脚本 [rootlocalhost ~]# vim myprog #!/bin/bash case $1 in start)echo -n 正在启动 sleep 服务 ... if sleep 7200 \\ 在后台启动 sleep 进程thenecho OK fi ;;stop)echo -n 正在停止 sleep 服务 ... pkill sleep /dev/null// 停止 sleep 进程echo OK ;;status) if pgrep sleep /dev/null ; //判断并提示 sleep 进程状态then echo sleep 服务已经启动. elseecho sleep 服务已经停止. fi ;;restart) \\ 先停止 $0 stop \\ 再启动服务 $0 start \\ 默认显示用法信息 ;; *)echo 用法: $0 {start|stop|status|restart} esac 添加权限  [rootlocalhost ~]# chmod x myprog [rootlocalhost ~]# ./myprog start 正在启动 sleep 服务 ... OK [rootlocalhost ~]# ./myprog status sleep 服务已经启动. [rootlocalhost ~]# ./myprog stop 正在停止 sleep 服务 ... OK //未提供此参数,按默认处理 [rootlocalhost ~]# ./myprog reload 用法: ./myprog {start|stop|status|restart} [rootlocalhost ~]# cp myprog /etc/init.d/ [rootlocalhost ~]# chkconfig --add myprog [rootlocalhost ~]# chkconfig --list myprog [rootlocalhost ~]# service myprog start 注 # chkconfig: 35 80 20运行级别# chkconfig: - 80 20数字越大优先启动 小阿轩yx-Shell编程之条件语句
http://www.hkea.cn/news/14398190/

相关文章:

  • 自己做网站需要花钱吗北京建站模板展示
  • 什么网站可以做兼职美工网站开发需要注意什么
  • 九江市建设工程质量监督站网站wordpress引导页
  • 建设网站怎么加购物车连云港做网站推广
  • 山东建设工程信息网站wordpress免费简约主题
  • 个人建站教程包头企业做网站
  • 福州市建设工程工料机信息网站黄页88网是什么性质的网站
  • 湖南省建设工程网站做推广怎么赚钱
  • 网站开发怎么入账软考证书有用吗张雪峰
  • 广州西樵网站制作wordpress需要会php吗
  • 团购网站开发语言微网建设管理系统
  • 南京外贸网站建设怎么收费网站建设 如何友情链接
  • 巴中市建设厅官方网站徐州鸿美网站建设
  • 关于我们 网站口腔门诊建设网站
  • 创同盟做网站好不好wordpress主题 演示数据库
  • 教医学生做科研的网站有哪些郑州金水区建设局网站
  • 校园网站建设总体设计乐华网络公司介绍
  • 长春 行业网站广告设计基础教程
  • 智能建站模版微信小程序哪里找
  • 西安哪里找做网站公司临床推广的方式有哪些
  • 网站建设的静态网页作业wordpress上传小视频教程
  • 云南省滇中引水工程建设管理局网站网站建设方案怎样写
  • 揭阳网站建设网站绵阳城乡住房建设厅网站
  • pc网站 手机网站 微信北京做网站报价
  • 做推广哪些网站好ckplayer怎么上传做网站
  • 西安地产网站建设做瞹瞹瞹视频网站
  • 技术支持 东莞网站建设母婴护理wordpress 微博客
  • 网站后台首页设计建设施工网络平台
  • 麦包包在网站建设方面WordPress子站站群
  • 湖北省城乡和住房建设厅官方网站网站目录链接怎么做的