码迷,mamicode.com
首页 > 系统相关 > 详细

shell一周学习心得

时间:2016-04-19 00:37:53      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:shell

学习shell脚本的心得

 


  1. shell脚本运行的环境:shell 脚本,就是把多条命令,有组织的编写到一个文件中,来实现一系列动作,方便的执行的一个文件。

Shell脚本主要应用在shell环境中,我们使用的rhel6,主要使用的bash shell解释工具来完成人机的交互。在日常的操作系统中还有其他的shell解释工具,如csh,tcsh,dash,zsh等等。Shell脚本可以实现一系列的动作的自动化运行。是自动化运维的利器,也是Linux系统管理的有力工具。学习好shell脚本,对以后的工作,有很大的意义。

  1. shell脚本的基本结构和基本知识

   一个shell脚本,主要有两部分构成,第一部分就是声明shell的解释环境

“#!/bin/bash”如上面这句,就是声明系统用/bin/bash来解释和运行该脚本,然后是你的命令部分。命令部分通过程序的顺序执行,或者通过各种分支判断,循环结构,来控制程序的运行。最终达到完成工作任务的目的。

    shell中,首先需要了解的是基本命令,也就是我们日常管理维护操作系统的指令,如常用的cd , pwd,useradd,passwd,touch,sed,awk等等,这些都是构成shell脚本,实现功能的基本元素。通过多个命令的不同组合,和流程控制,来实现部署环境,管理系统的任务。

   在我们的系统中,有许多的变量,其中系统变量($PWD,$USER,$UID…),是固化在系统中的,我们就可以直接调用。还有很多的预定义变量($?,$*,$#),自定义变量等。是灵活编写脚本不可缺少的基本思路。要学会使用变量可以有效的减少脚本的书写工作。

   如何让程序更好的运行,有时候就需要使用到分支判断循环结构控制,这里我们学习到了,if,for,while,case等等一系列流程控制结构。用它们来灵活的控制脚本的运行。

   使用expect来实现人机交互的自动应答部分,解决掉我们需要在终端输入的交互问题。

    通过一周的学习,基本获得了一个编写shell脚本的思路和方法。当然,对与系统命令与系统的了解,越深入,对我们编写shell脚本就越得心应手,这需要我不断的学习,思考和总结。

  1. 编写shell脚本的思路

为什么编写一个shell脚本?基本都是自己需要实现一个动作,或者让shell脚本帮助我们完成一系列繁冗,或枯燥的操作。减少自己的工作强度。也是实现自动化运维的基本功。

   编写脚本,要从实际出发,不要一下把功能写的十分全面,强大。我的原则是只要实现就好,不择手段。然后在逐步完善。

   首先要把你的任务明确,然后用试验机做测试,成功了,或者遇到问题了,在想解决办法。把这些命令收集起来,组成shell脚本,把问题逐一解决掉,或者绕开,完成脚本的功能是最重要的,不要进行破坏性操作。

    有时候绕开是很好的办法,比解决要更有效。

  1. shell脚本的实现

脚本的实现,需要经过一个痛苦的过程,有时候一个看似很简单的shell功能脚本,也许会花费你很大的心思。最好的办法就是做切片,分段调试,分段测试,整体组合。精简代码。调整思路,完善脚本。

不要试图一次性编写一个复杂的脚本。除非你对shell和系统服务如火纯青。

  1. shell脚本的局限性和在工作中的实际应用

可以尝试在日常生活中使用shell脚本帮助你完成一点简单的工作。比如每天备份下你的boot目录,etc目录等。配合计划任务等工作。因为有些时候,很多工作是shell脚本自己搞不定的。不能太依赖shell。让它发挥自己的优点就可以了。比如一些风险性操作,比如磁盘格式化,lvm管理,需要谨慎操作的,还是远程登陆等比较靠谱点。万一你一个脚本下去,整个数据全部完蛋。尽管脚本都是我们辛辛苦苦编写,和测试的。谁也不能保证它不会出这样那样的问题。

   最后,通过一周的学习,我初步了解了shell脚本的编写方法,自己对操作系统,和各种功能的实现方法和shell脚本的实现方式,方法还要认真学习和总结。以上是我的一点小小的心得和体会。还有很多缺点和不足,希望老师和同学多多帮助。

                           

                                                                                                                             . 北京


本文出自 “11452553” 博客,谢绝转载!

shell一周学习心得

标签:shell

原文地址:http://11462553.blog.51cto.com/11452553/1765200

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!