SHELL脚本基础入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SHELL脚本基础入门相关的知识,希望对你有一定的参考价值。

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


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


技术分享图片


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


技术分享图片


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


技术分享图片


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


技术分享图片


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

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

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


技术分享图片


该程序主要代码如下:


技术分享图片


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


技术分享图片


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

以上是关于SHELL脚本基础入门的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本基础入门

Shell入门基础

Linux shell入门基础

Linux基础入门初识Shell

Linux入门——基础shell

快速入门Linux基础+环境配置+shell脚本