文档章节

shell学习总结7

心中的理想乡
 心中的理想乡
发布于 2017/02/25 21:27
字数 1090
阅读 5
收藏 0

今天第二次总结这个,感觉下午的时光总是很安逸,静静感受着阳光,可能这也是广东气候独有的恩赐。总是让我想起当年本科那几年,尤其是大一与伙伴们相聚的时光。我记得那天也是下午,同样冬天,同样是阳光灿烂,我们逛了一天累了,在九栋楼下聚集。后来王堃说,我们大二之后关系肯定会淡。后来就真的如此了。有时候自己是怅惘的,因为怀念,因为叹息吧。这也没办法,是大家共同的选择。如果有机会,我说的大家都能看到的话,我想说:大家过的好吗?我想念你们了。我一直怀念当初一起的时光了。纪成没变,还在这里,只不过纪成不会表达罢了。
等下要回深圳,大约六点多出发吧,现在来总结总结。接下来总结的章节就是真正的shell脚本编程的内容。通读下来我一直觉得shell脚本的灵活性,远远的超出我的想象。今天先来个初步的章节吧。
1、基本的运行的脚本命令开头:
#!/bin/bash
data
who
注意:脚本中命令可以使用分号进行分隔,但是同样可是使用在不同行列出不同命令的方式,让系统顺序执行

2、echo命令几种用法:
        echo string
        echo 'string"string"'
        echo "string'string'" 不同引号进行包含
        echo -n 'string' 这种可以包中显示出字符之后不换行

3、环境变量与用户变量:
        变量的引用,例如:echo $HOME
        用户变量的定义:var1=10
                        var2=-57
                        var3=testing(这种是将var3赋值成testing字符串)
                        var4='string'
        用户变量的定义规则:不超过20个的字母、数字或下划线的文本字符串,区分大小写,等号两边不能有空格
        用户变量的使用:直接使用$符号进行引用,赋值的时候不用使用$符号
        
4、反引号的使用:反引号在shell编程里面主要的作用便是求值,然后将结果赋给变量
            例如:testing=`data`
                  echo "Date and time are:" $testing
            结果:Date and time are: Mon Jan 31 20:23:25 EDT 2011

5、输出重定向:command > outputfile
         举例:date > test6
         结果:会将当前时间写入test6文件当中去

6、输入重定向:command < inputfile
         举例:wc < test6
         结果:2    11      60
         说明:wc命令主要是提供了对文本中的数据计数,主要包含三个方面:文本的行数、文本的词数、文本的字节数
   内联输入重定向:使用<<符号代替<
            说明:内联重定向主要不是在文件中获取输入的数据,而是从命令行中获取,不过开始于结束的标志位必须使用一样的
            举例:wc << EOF
                    >test string 1
                    >test string 2
                    >test string 3
                    >EOF
            结果:3    9    42
7、管道: rpm -qa | sort | more

8、执行数学运算:
    (1)使用expr命令:expr 1+5
        要是使用*进行乘法运算的时候,要使用:\*
    (2)使用[]进行数学运算:var1=$[1+5]
        如果是浮点数运算是不行的,这些都只支持整数运算
    (3)浮点数运算解决方案:使用bc计算器
                     举例:(在shell脚本中)
                             #!/bin/bash
                             var1=`echo "scale=4;3.44 / 5" | bc`
                             echo The answer is $var1
    (4)使用bc运算器解决大量运算问题:主要思路是使用内联重定向来实现
                                举例:(在shell脚本中)
                                          #!/bin/bash
                                          var1=10.12
                                          var2=23.45
                                          var3=45.76
                                          var4=23.55

                                          var5=`bc << EOF
                                          scale=4
                                          a1=($var1 * $var2)
                                          b1=($var3 * $var4)
                                          a1+b1
                                          EOF
                                          `
                                          echo The final answer for this mess is $var5
9、退出脚本
    (1)查看退出状态码:退出状态码是在一个命令运行结束的时候就马上赋值给$?变量的
    (2)查看:echo $?
    (3)说明:一个命令如果是正常退出的话,状态码是0,如果是错误退出的话,状态码会是一个正数值(1~255),特殊状态码查看219页表10-2
     (4)使用exit改变状态码:在脚本结束的时候可以直接(exit number)来指定一个状态码,如果有超过255的状态码,系统会除256取模来确定最终的状态码

© 著作权归作者所有

共有 人打赏支持
心中的理想乡
粉丝 19
博文 74
码字总数 98107
作品 0
深圳
程序员
运维老鸟分享-学好Linux技术大绝招

随着互联网的飞速发展,越来越多的人开始学习 Linux 技术。很多初学者面对 Linux 技术的海洋无从下手,近 1 0年一线互联网运维老鸟为菜鸟总结了学好 Linux 技能的大绝招: 1、基于 VMware 虚...

wgkgood
2017/06/16
0
0
单引号、双引号和不加引号区别

把内容输出出来,可能不会将含有空格的 说一下单引号、双引号和不加引号区别 总结说明: 单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输...

大凯哥517
2017/05/05
0
0
2016个人计划

================2015总结============================ 算完成了吧 1:找个女朋友 。。。 未完成 2:养好身体 未完成 未完成 3:深入了解java基础,看看jdk1.6,1.7的新特性,了解多线程,高...

有种下班别走
2016/02/16
6
0
Shell脚本易犯的错

shell脚本的易犯错误 1. for i in x y z : 这句是以空格作为分隔符的,当我们的$n中包含空格的话,就会有错误 如 for i in ,这句 ls *.mp3执行后如果有空格就gg了 直接 for i in *.mp3 就好...

476069017
2016/09/18
0
0
Shell和Python学习教程总结

博友们好,由于运维相关技术不断发展,个人能力也不断提高,渐渐积累的经验不能及时更新到以往的博文中。因此,为了更好的帮助大家学习运维技术,特地针对Shell和Python脚本语言总结了文档,...

李振良OK
2017/02/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
14
1
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部