您的位置:首页 > 运维架构 > Shell

SHELL脚本基础入门

2018-01-27 14:12 337 查看
文章为个人见解,欢迎指正。

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



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



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



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



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

需求分析

程序逻辑分析

书写程序

调试bug

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



该程序主要代码如下:



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



通过上图,我们可以清晰的知道当遇到脚本需要时,应该如何考虑,从何处下手,便不会无从下手了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shel 脚本