shell学习总结7
shell学习总结7
心中的理想乡 发表于1年前
shell学习总结7
  • 发表于 1年前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 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取模来确定最终的状态码

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 8
博文 68
码字总数 61989
×
心中的理想乡
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: