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

网站设计怎么算侵权唐山门户网站建设

网站设计怎么算侵权,唐山门户网站建设,台州网站建设seo,北京网站建设好几乎所有的脚本里都有某种流控制结构#xff0c;很少有例外。流控制是什么#xff1f;假定有一个脚本#xff0c;包含下列几个命令#xff1a; #!/bin/sh # make a directory mkdir /home/dave/mydocs # copy all doc files cp *.docs /home/dave/docs # delete all doc fi…几乎所有的脚本里都有某种流控制结构很少有例外。流控制是什么假定有一个脚本包含下列几个命令 #!/bin/sh # make a directory mkdir /home/dave/mydocs # copy all doc files cp *.docs /home/dave/docs # delete all doc files rm *.docs 上述脚本问题出在哪里如果目录创建失败或目录创建成功文件拷贝失败如何处理这里需要从不同的目录中拷贝不同的文件。必须在命令执行前或最后的命令退出前决定处理方法。shell会提供一系列命令声明语句等补救措施来帮助你在命令成功或失败时或需要处理一个命令清单时采取正确的动作。这些命令语句大概分两类 1、循环和流控制 if 语句 提供条件测试。测试可以基于各种条件。例如文件的权限、长度、数值或字符串的比较。这些测试返回值或者为真0或者为假1。基于此结果可以进行相关操作。在讲到条件测试时已经涉及了一些测试语法。 case语句 允许匹配模式、单词或值。一旦模式或值匹配就可以基这个匹配条件作其他声明。2、循环 循环或跳转是一系列命令的重复执行过程本书提到了3种循环语句 for 循环 每次处理依次列表内信息直至循环耗尽。 Until 循环 此循环语句不常使用 until循环直至条件为真。条件部分在循环末尾部分。 While 循环 while循环当条件为真时循环执行条件部分在循环头。流控制语句的任何循环均可嵌套使用例如可以在一个for循环中嵌入另一个for循环。二、实例讲解 现在开始讲解循环和控制流并举一些脚本实例。 从现在起脚本中语句使用LINUX或BSD版本也就是说使用echo方法echo -e -n意即从echo结尾中下一行执行命令。 1、grep输出检查 不必拘泥于变量或数值测试也可以测知系统命令是否成功返回。对grep使用if语句找出grep是否成功返回信息。下面的例子中grep用于查看Dave是否在数据文件data.file中注意’Dave‘用于精确匹配。 [rootlocalhost ~]# cat grepif.sh #!/bin/sh # grepif.sh if grep Dave\ data.file /dev/null 21 thenecho Great Dave is in the file elseecho No Dave is not in the file fi [rootlocalhost ~]# ./grepif.sh No Dave is not in the file 2、用变量测试grep输出 正像前面看到的可以用grep作字符串操作。下面的脚本中用户输入一个名字列表grep在变量中查找要求其包含人名Peter [rootlocalhost ~]# cat grepstr.sh #!/bin/sh # grepstr echo -n Enter a list of names: read list if echo $list | grep Peter /dev/null 21 thenecho Peter is here# could do some processing here... elseecho Peters not in the list. No comment! fi [rootlocalhost ~]# ./grepstr.sh Enter a list of names:John Louise Peter James Peter is here 3、文件拷贝输出检查 下面测试文件拷贝是否正常如果cp命令并没有拷贝文件myfile到myfile.bak则打印错误信息。注意错误信息中basename $0打印脚本名。如果脚本错误退出一个好习惯是显示脚本名并将之定向到标准错误中。用户应该知道产生错误的脚本名。 [rootlocalhost ~]# cat ifcp.sh #!/bin/sh # ifcp.sh if cp myfile myfile.bak; thenecho good copy elseecho basename $0: error could not copy the file 2 fi [rootlocalhost ~]# ./ifcp.sh cp: cannot stat myfile: No such file or directory ifcp.sh: error could not copy the file 注意文件可能没找到系统也产生本身的错误信息这类错误信息可能与输出混在一起。既然已经显示系统错误信息获知脚本失败就没必要显示两次。要去除系统产生的错误和系统输出只需简单的将标准错误和输出重定向即可。修改脚本为 /dev/null 21。 [rootlocalhost ~]# cat ifcp.sh #!/bin/sh # ifcp.sh if cp myfile myfile.bak /dev/null 21; thenecho good copy elseecho basename $0: error could not copy the file 2 fi [rootlocalhost ~]# ./ifcp.sh ifcp.sh: error could not copy the file 上面当中/dev/null表示任何标准输出都定向到那个无尽的“黑洞”/de/null中然后21表示错误输出也是到/dev/null中1表示前面的那个/dev/null脚本运行时所有输出包括错误重定向至系统垃圾堆。 4、当前目录测试 当运行一些管理脚本时可能要在根目录下运行它特别是移动某种全局文件或进行权限改变时。一个简单的测试可以获知是否运行在根目录下。下面脚本中变量DIRECTORY使用当前目录的命令替换操作然后此变量值与” / “字符串比较 /为根目录。如果变量值与字符串不等则用户退出脚本退出状态为1意味错误信息产生。 [rootlocalhost ~]# cat ifpwd.sh #!/bin/sh # ifpwd.sh DIRECTORYpwd # grab the current dirctory if [ $DIRECTORY ! / ]; then# is it the root directory ?# no, the direct output to standard error, which is the screen# by default.echo You need to be in the root directory no $DIRECTORY to runthis script 2# exit with a value of 1, an errorexit 1 fi [rootlocalhost ~]# ./ifpwd.sh You need to be in the root directory no /root to runthis script 5、文件权限测试 可以用i f语句测试文件权限下面简单测试文件test.txt是否被设置到变量LOGNAME测试test.txt文件是否具有写的权限。下面的脚本先建立一个test.txt的空白文档列出它的相关权限。然后执行脚本测试其是否可以写入然后显示相关信息。 [rootlocalhost ~www.yigouyule2.cn]# touch test.txt [rootlocalhost ~www.feifanyule.cn/]# ls -l test.txt -rw-r--r-- 1 root www.boshenyl.cn root 0 Nov 21 15:21 test.txt [rootlocalhost ~www.taohuayuan178.com]# chmod ux ifwr.sh [rootlocalhost www.qinlinyule.cn~]# cat ifwr.sh #!/bin/sh # ifwr.sh LOGFILEtest.txt echo $LOGFILE if [ ! -w $LOGFILE ]; thenecho You cannot write to $LOGFILE 2 elseecho You can write to $LOGFILE 2 fi [rootlocalhost ~]# ./ifwr.sh test.txt You can write to test.txt 6、测试传递到脚本中的参数 if语句可用来测试传入脚本中参数的个数。使用特定变量$#表示调用参数的个数。可以测试所需参数个数与调用参数个数是否相等。以下测试确保脚本有三个参数。如果没有则返回一个可用信息到标准错误然后代码退出并显示退出状态。如果参数数目等于3则显示所有参数。 [rootlocalhost ~]# cat ifparam.sh #!/bin/sh # ifparam if [ $# -lt 3 ]; then# less than 3 parameters called, echo a usage message and exit# 如果少于三个参数则显示使用的信息然后退出。echo Usage: basename $0arg1 arg2 arg3 2exit 1 fi # good, received 3 params, lets echo them # 好现在接受了三个参数让我们开始显示他们 echo arg1: $1 echo arg2: $2 echo arg3: $3 [rootlocalhost ~]# ./ifparam.sh cup medal Usage: ifparam.sharg1 arg2 arg3 [rootlocalhost ~]# ./ifparam.sh cup medal trophy arg1: cup arg2: medal arg3: trophy 从上面的运行信息可以看出如果只传入两个参数则显示一可用信息然后脚本退出。只有正确传入了三个参数了才显示所有的参数然后退出。 7、决定脚本是否为交互模式 有时需要知道脚本运行是交互模式终端模式还是非交互模式cron或at。脚本也许需要这个信息以决定从哪里取得输入以及输出到哪里使用test命令并带有-t选项很容易确认这一点。如果test返回值为1则为交互模式。假如我是在一个终端下运行下面这个脚本。 [rootlocalhost ~]# cat ifinteractive.sh #!/bin/sh # ifinteractive.sh if [ -t ]; thenecho We are interactive with a terminal elseecho We must be running from some background process probablycron or at fi [rootlocalhost ~]# ./ifinteractive.sh We are interactive with a terminal 8、变量设置测试 下面的例子测试环境变量EDITOR是否已设置。如果EDITOR变量为空将此信息通知用户。如果已设置在屏幕上显示编辑类型。 [rootlocalhost ~]# cat ifeditor.sh #!/bin/sh# ifeditor.shif [ -z $EDITOR ]; then# the variable has not been set# 变量没有设置echo Your EDITOR environment is not setelse# lets see what it is# 如果设置了让我们来看看它到底是什么echo Using $EDITOR as the default editorfi[rootlocalhost ~]# ./ifeditor.sh Your EDITOR environment is not set 9、将脚本参数传入系统命令 可以向脚本传递位置参数然后测试变量。这里如果用户在脚本名字后键入目录名脚本将重设$1特殊变量为一更有意义的名字。即DIRECTORY。这里需测试目录是否为空如果目录为空ls -A将返回空然后对此返回一信息。 # ifdirec.sh # assigning $1 to DIRECTORY variable DIRECTORY$1 if [ ls -A $DIRECTORY ]; then# if its an empty string, then its emptyecho $DIRECTORY is indeed empty else    # otherwise it is notecho $DIRECTORY is not empty fi 也可以使用下面的脚本替代上面的例子并产生同样的结果 [rootlocalhost ~]# cat ifdirec2.sh #!/bin/sh # ifdirec2 DIRECTORY$1 if [ -z ls -A $DIRECTORY ] thenecho $DIRECTORY is indeed empty elseecho $DIRECTORY is not empty fi 10、null命令用法 到目前为止条件测试已经讲完了then和else部分有时也许使用者并不关心条件为真或为假。不幸的是if语句各部分不能为空—一些语句已经可以这样做。为解决此问题 shell提供了空命令。空命令永远为真也正是预想的那样。回到前面的例子如果目录为空可以只在then部分加入命令。 [rootlocalhost ~]# cat ifdirectory.sh #!/bin/sh # ifdirectory.sh DIRECTORY$1 if [ ls -A $DIRECTORY ] thenecho $DIRECTORY is indeed empty else :# do nothing fi [rootlocalhost ~]# ./ifdirectory.sh testd testd is indeed empty
http://www.zqtcl.cn/news/120795/

相关文章:

  • 电商网站建设去迅法网网站管理与建设试题
  • 做网站必须知道的问题wordpress制作论坛
  • 怎样在建设部网站查资质证书网页设计有哪些岗位
  • 安徽中色十二冶金建设有限公司网站cad制图初学入门
  • 开发网站监控工具网上开店怎么找货源
  • 标准网站建设报价单私密浏览器直播
  • wordpress焦点图网站seo分析
  • 域名申请哪个网站好江西有色建设集团有限公司网站
  • 新乡市做网站的公司百度推广开户费用多少
  • 免费建网站哪个平台好php 未定义函数wordpress
  • 个人网站 域名选择郑州那家做网站便宜
  • 网站建设技术合伙人的技术股份全国免费发布信息网站大全
  • 兼职网站平台有哪些新手怎么学做网站
  • 有没有直接做网站的软件iis一个文件夹配置多个网站
  • 网站怎么屏蔽ip访问信息发布网站建设
  • 陕西省住房城乡建设厅网站管理中心电信服务器
  • 外国优秀网站设计程序员做任务的网站
  • 购物网站项目经验开发一个游戏软件需要多少钱
  • 专业的大连网站建设电商网站支付方案
  • 手机如何建设网站首页株洲搜索引擎优化
  • 辉县市建设局网站制作网站站用的软件下载
  • 什么网站广告做多有没有不花钱建设网站的方法
  • 网站开发技术总监面试题五大门户网站分别是
  • 福州自助建设网站网站开发工具蜡笔小新
  • 扬州市住房和城乡建设网站html5 后台网站模板
  • 网站建设与设计意义宜兴做宠物的网站
  • 苏州建设工程人才招聘网信息网站wordpress前端库加速
  • 浙江手机版建站系统信息应用商店下载app
  • 广告投放网站动画设计模板
  • 网站发外链的好处页面跳转 英文