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

SHELL脚本基础入门

时间:2018-01-27 15:27:44      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:语句   数据   ash   oss   进程控制   cto   技术   src   ima   

文章为个人见解,欢迎指正。


在介绍shell脚本之前,我们首先来理解一些基本的概念。什么是程序?进程?程序就是指令加数据的集合,下面一张图可以清晰的看到程序的概念


技术分享图片


程序本身是静态的,只有交由cpu执行时才能变成动态。但cpu执行速度特别快,一次执行一道程序,会大大浪费cpu的效率,于是就衍生了,多道程序的概念。多道程序处理,就是同一时间间隔内有多道程序并发执行,但程序本身之间同时执行容易发生数据出错。进程就是用来协调这些程序互不干扰的,所以进程是动态的。当程序要运行时,在调入内存的时候,会将资源分配给程序,之后便分配进程控制块,去将这些信息记载清楚,当程序执行完成后,进程控制块便会回收,资源也会回收。如下图:


技术分享图片


进程是动态的。
下面介绍一下编程语言的概念:编程语言分为高级语言和低级语言,语言并不是说越高级越好,低级的意思是说越接近底层,越高层越接近人类的自然语言,低级语言执行效率会相对的高。如下图


技术分享图片


我们看到,shell语言也是高级语言,shell语言是解释性语言,shell便是解释器(如bash)。解释性语言就像是同声翻译,执行一句,翻译一句。编译型语言,是一次全翻译完,放在那儿,谁都可以去运行。所以通常来说,编译行语言执行效率高,但前期会花费时间编译,只能说两种类型的语言,各有长处。下文主要介绍shell的基础入门
首先我们在所有的脚本语言中都会看到先面的开头


技术分享图片


这个开头我们称之为shebang机制,他的主要作用便是告诉系统这个文件应该交由bash解释器去执行,接下来便是程序的正文了。
正文的内容便是你要完成的内容了,那么正文内容改如何去写呢?思路主要如下:

  1. 需求分析
  2. 程序逻辑分析
  3. 书写程序
  4. 调试bug

首先我们以一个简单脚本题目为例:


技术分享图片


该程序主要代码如下:


技术分享图片


我们来分析一下:
这道题主要实现的功能是创建用户和修改密码。但在创建用户前,我们需要满足一些条件,这些条件我们便可以当作判断语句,当满足这些条件时,我们便去执行下一步操作,当所有条件都满足时,我们便可以完成想要实现的功能。


技术分享图片


通过上图,我们可以清晰的知道当遇到脚本需要时,应该如何考虑,从何处下手,便不会无从下手了。

SHELL脚本基础入门

标签:语句   数据   ash   oss   进程控制   cto   技术   src   ima   

原文地址:http://blog.51cto.com/13570184/2065759

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