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

欧美网站建设公司排名梁山网站开发

欧美网站建设公司排名,梁山网站开发,物流行业网站建设市场分析,金华市开发区人才网shell--脚本基础知识 ****shell 脚本基础知识**** 一、基本脚本编译 知识内容#xff1a; # 构建脚本 # 将命令串联起来 # 存储变量 # 数学计算 # 重定向输出 # 检查代码shell不像高级语言需要编译后执行#xff0c;而是直接处理每一条命令#xff0c;可以将多条命令连接起来… shell--脚本基础知识 ****shell 脚本基础知识**** 一、基本脚本编译 知识内容 # 构建脚本 # 将命令串联起来 # 存储变量 # 数学计算 # 重定向输出 # 检查代码shell不像高级语言需要编译后执行而是直接处理每一条命令可以将多条命令连接起来形成单一的步骤。 如下使用两个bash shell命令则为一个最简单的shell脚本啦: [rootwzp ~]# who ; date root     :0           2010-12-13 09:29 root     pts/0        2011-01-27 15:12 (:0.0) 2011年 01月 27日 星期四 15:26:42 CST 但如上存在缺点必须在提示符输入整条命令所以可以将命令合并到一个文件中当需要运行命令的时候运行文本文件就行了。 2、创建脚本文件[rootwzp ~]# cat test1 #!/bin/bash date who 通过创建编辑test1文件具体内容如上 #!/bin/bash指明了该文件所使用的shell [rootwzp ~]# ls -l test1 -rw-r--r-- 1 root root 21 01-27 15:30 test1 [rootwzp ~]# ./test1 bash: ./test1: 权限不够 如果直接运行该文件是无法执行的因为shell脚本文件所在目录没添加到PATH环境变量中我们可以通过echo $PATH查看。这里我们可以使用单点操作符。 [rootwzp ~]# chmod ux test1 [rootwzp ~]# ./test1 2011年 01月 27日 星期四 15:32:23 CST root     :0           2010-12-13 09:29 root     pts/0        2011-01-27 15:12 (:0.0)3、显示消息[rootwzp ~]# echo welcome to 24 blog welcome to 24 blog 如上正常显示 [rootwzp ~]# echo welcome to 24 blog 如上字符出现单引号则无法显示 [rootwzp ~]# echo welcome to 24 blog welcome to 24 blog 通过外围添加双引号使得正常显示 [rootwzp ~]# echo welcome to 51cto website welcome to 51cto website 所以说在shell脚本中需要用到echo显示消息时注意单引号和双引号问题。 [rootwzp ~]# cat test1 #!/bin/bash echo -n today is : date echo who logined this os : who 上面使用-n 参数可以使得echo命令结果和文本字符串在同一行 [rootwzp ~]# ./test1 today is : 2011年 01月 27日 星期四 15:49:08 CST who logined this os : root     :0           2010-12-13 09:29 root     pts/0        2011-01-27 15:12 (:0.0)4、使用变量4.1 环境变量 可以通过set命令显示活动环境变量的完整列表如下通过echo单独显示一些$开头的变量 [rootwzp ~]# echo $LANG zh_CN.UTF-8 [rootwzp ~]# echo $USER root [rootwzp ~]# echo $UID 0 [rootwzp ~]# echo $HOME /root 如上可以看到我用的是root账号还有字符编码类型家目录 [rootwzp ~]# cat test1 #!/bin/bash echo user info for userid: $USER echo UID: $UID echo HOME DIR : $HOME echo LANG : $LANG [rootwzp ~]# ./test1 user info for userid: root UID: 0 HOME DIR : /root LANG : zh_CN.UTF-8 如上可以总结出使用美元符号开头的环境变量可以从脚本中引进这些环境变量 但是当我们只想要使用$符号的时候呢怎么显示 [rootwzp ~]# echo $HOME /root [rootwzp ~]# echo /$HOME //root [rootwzp ~]# echo \$HOME $HOME 上面的例子可以看出使用\反斜杠那么shell脚本则将美元符号翻译成$,而不再是一个变量了这点容易懂 4.2用户变量 shell允许在脚本中设置和使用自己的变量用户变量区分大小写通过等号赋值给用户变量两边不准有空格跟系统变量一样用户变量也可以使用$引用 [rootwzp ~]# cat test1 #!/bin/bash xxx1ftp echo $xxx1 is 文件传输协议 xxx2http echo $xxx2 is 超文本标记传输协议 [rootwzp ~]# ./test1 ftp is 文件传输协议 http is 超文本标记传输协议 4.3反引号 这个符号就是反引号在shell脚本之外很少使用它通常处于键盘的1号键左边反引号允许将shell命令的输出赋值给变量在脚本编程中它是主要的构建。如下例 [rootwzp ~]# cat test1 #!/bin/bash testingdate echo the date and the time are : $testing [rootwzp ~]# ./test1 the date and the time are : 2011年 01月 27日 星期四 20:13:17 CST 如果上例没有使用反引号那么现实的内容就是date这个字符而已了 再来一个现实比较常用的例子 [rootwzp ~]# cat test1 #!/bin/bash testingdate %y%m%d ls /usr/bin -al log.$testing 如上date %y%m%d表示显示date命令的年月日然后把$testing变量的值作为文件名并且把/usr/bin下的文件目录都重定向到生产的文件中。重定向下面会讲述 [rootwzp ~]# ./test1 [rootwzp ~]# ll log.110127 -rw-r--r-- 1 root root 97764 01-27 20:18 log.110127 这样就很方便了每天的日志文件自动区分出来实现自动化5、重定向输入输出有时候想通过命令保存输出而不是显示在屏幕上重定向就可以解决这个问题。 5.1、输出重定向 意思是说通过一条命令把显示的内容发送到文件中通过大于号实现例子 [rootwzp ~]# date test1 [rootwzp ~]# cat test1 2011年 01月 27日 星期四 20:26:08 CST [rootwzp ~]# who test1 [rootwzp ~]# cat test1 root     :0           2011-01-27 20:07 root     pts/0        2011-01-27 20:10 (:0.0) 这个好理解不多说。 5.2、输入重定向 输入重定向是输出重定向的相反过程把一个文件的内容重定向到一个命令中如 [rootwzp ~]# cat test1 2011年 01月 27日 星期四 20:29:15 CST [rootwzp ~]# wc test1 1  6 43 通过将文本文件重定向到wc命令中可以算出这个文件的行数、单词数、字节数。 如上表示test1文件有1行、6个单词和43个字节这个很好懂吧 5.3、追加   重定向的作用是完全覆盖追加的概念就是在原本文件内容基础上添加如 [rootwzp ~]# cat test1 2011年 01月 27日 星期四 20:29:15 CST [rootwzp ~]# cal test1 [rootwzp ~]# cat test1 2011年 01月 27日 星期四 20:29:15 CST      一月 2011       日 一 二 三 四 五 六                    1 2  3  4  5  6  7  8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 通过符号实现追加可以看到date显示的内容还是没丢失。6、管道通过|这个符号实现管道过滤作用这个很容易理解比如在查看一些服务或者开放的端口就可以通过管道过滤出我们想到查看的东西而不是全部显示出来 [rootwzp ~]# rpm -qa |grep http httpd-2.2.3-22.el5 httpd-manual-2.2.3-22.el5 httpd-devel-2.2.3-22.el5 [rootwzp ~]# netstat -antup |grep http tcp        0      0 :::80                       :::*                        LISTEN      4124/httpd          tcp        0      0 :::443                      :::*                        LISTEN      4124/httpd    这个就不多说了7、数学计算处理数学的能力是编程语言至关重要的可惜shell这方面不是很好。简单说说~ 7.1、expr命令 expr命令可以处理命令行中的等式在RHEL5.3下 [rootwzp ~]# expr 2*5 2*5 [rootwzp ~]# expr 2 * 5 expr: 语法错误 [rootwzp ~]# expr 2 \* 5 10 这样子在shell命令中使用expr命令就显得麻烦了。 如下通过使用括号改进这个措施. 7.2使用括号 看下面这个例子完全就是可以通过[]或者替代了expr [rootwzp ~]# wzp1$[15] [rootwzp ~]# echo $wzp1 6 先赋值然后显示变量值。继续看看一个例子 [rootwzp ~]# cat test1 #!/bin/bash var1100 var250 var345 var4$[$var1 * ($var2 - $var3)] echo the final result is $var4 [rootwzp ~]# ./test1 the final result is 500 通过[()]非常灵活的解决数学计算问题。当然bash shell只是解决了整数运算。 对于浮点算术运算出现小数点的情况又是如何呢 7.3浮点解决方案 首先看看一个例子 [rootwzp ~]# cat test1 #!/bin/bash var1100 var245 var3$[$var1 / $var2] echo the final result is $var3 [rootwzp ~]# ./test1 the final result is 2 我们可以看到计算结果余数被忽略了只是留下商。 shell脚本可以通过使用Z shellzsh解决浮点算术运算当然bash shell可以通过使用内置的bash计算器称为bc解决浮点运算问题。 这里长话短说直接在脚本用使用bc具体要用到的时候在找解决方法。 先看下面一个例子 [rootwzp ~]# cat test1 #!/bin/bash var1100 var245 var3echo scale4; $var1 / $var2 | bc echo the answer is $var3 [rootwzp ~]# sh test1 the answer is echo scale4; $var1 / $var2 | bc 不知道为何参加资料可以实现我这里一直搞不定先放着 自己猜测应该是linux发行版问题~~~8、退出脚本每条运行在shell中的命令都使用一个退出状态不过这点比较少弄这个退出状态时一个介于0到255之间的数据这个稍微了解下就行了 8.1、核对退出状态 linux提供了 $? 这个特殊变量来保存最后一条命令执行结束的退出状态 先看个例子 [rootwzp ~]# date 2011年 01月 27日 星期四 22:39:58 CST [rootwzp ~]# echo $? 0 [rootwzp ~]# wzp bash: wzp: command not found [rootwzp ~]# echo $? 127 从上面看到date这个有效命令的退出状态值是0而wzp这个无效命令的值是127 具体还有其他退出状态值的数可以自行参考下linux退出状态代码 8.2退出命令 在shell文本脚本中可以自行设置退出状态值 [rootwzp ~]# cat test1 #!/bin/bash date exit 5 [rootwzp ~]# ./test1 2011年 01月 27日 星期四 23:13:42 CST [rootwzp ~]# echo $? 5 这个效果具体作用后续用到再说说了,这里点到为止了 转载于:https://blog.51cto.com/2942350/557908
http://www.zqtcl.cn/news/164691/

相关文章:

  • 大良建网站织梦建设两个网站 视频
  • 用html5制作个人网站航空港建设局网站
  • 祥云平台建站网站备案通过什么可以备案
  • 免费建造网站系统php和wordpress
  • 九脉堂是做网站的网站权重不稳定
  • 网站怎么做来流量门户网站的发布特点
  • 网站设计相似侵权吗免费游戏网站建设
  • 湖北长安建设网站制作一个网站的步骤是什么
  • js网站开发成都房地产最新政策
  • 天津网站制作维护无锡网络推广外包
  • 国外中文网站排行娱乐新闻做的好的网站
  • 零食网站建设需求分析规划设计网址
  • 建立网站备案的法律依据wordpress 招商系统
  • 建设银行全球门户网站网站建设技能
  • 提供企业网站建设价格10元一年的虚拟主机
  • 塔城建设局网站电子商务网站建设方案目录
  • 网站容易被百度收录个人建购物网站怎么备案
  • 中文网站什么意思wordpress电脑访问不了
  • 杨家坪网站建设企业生产erp软件公司
  • 网站模块设计软件河北seo优化_网络建设营销_网站推广服务 - 河北邢台seo
  • 陕西正天建设有限公司网站西安专业网页制作
  • 网站建设工作室介绍范文seo网站排名的软件
  • 上海网站建设-网建知识可编辑个人简历模板
  • 北京新鸿儒做的网站shopify做国内网站
  • 网站怎样做百度推广机关门户网站建设要求
  • 好看的网站后台模板沧州网站群
  • 深圳做网站排名公司哪家好哪些网站seo做的好
  • 国内网站建设推荐网站建设合同标准版
  • 哈尔滨网站制作费用企业成品网站模板
  • 网络广告网站怎么做北京海淀建设中路哪打疫苗