1.4.1 linux和高并发-shell编程-bash

1.写在前面

        我们前面讲了linux系统中怎么安装一个我们需要的软件,重点讲解了三种方式:linux编译安装+rpm安装+yum安装,我们不知不觉已经学习了好多linux相关知识了,从安装系统,学习了简单命令,讲解了文件系统和简单文本操作。我们简单认识了vi环境,熟悉了正则表达式,文本编辑、用户管理、权限管理、安装软件等。这篇博客我们将介绍脚本编程相关知识。这个地方一般由公司的运维来做,但是我们要能看懂别人的脚本。

2.bash -> shell

         讲脚本之前,我们先讲一下bash,我们的命令就是在bash中执行的。bash是交互式输入的东西,把交互式输入变成文本式输入就变成了shell(sh文件)。当我们把bash东西学会之后,我们shell也就学会了。

1.4.1 linux和高并发-shell编程-bash

         Shell 既是一个连接用户和 linux内核的程序,又是一门管理 Linux 系统的脚本语言。Shell 脚本虽然没有 c++、python 等编程语言强大,但也支持了基本的编程元素。然而,真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁。

         Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。

1.4.1 linux和高并发-shell编程-bash

        Shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,它和 QQ、迅雷、Firefox 等其它软件没有什么区别。然而 Shell 也有着它的特殊性,就是开机立马启动,并呈现在用户面前;用户通过 Shell 来使用 Linux,不启动 Shell 的话,用户就没办法使用 Linux。

1.4.1 linux和高并发-shell编程-bash

1.4.1 linux和高并发-shell编程-bash

        source执行shell脚本:

1.4.1 linux和高并发-shell编程-bash

        sh01.sh更改文件内容并执行(当前进程号都一样),表明我们在当前的bash中执行:

1.4.1 linux和高并发-shell编程-bash

1.4.1 linux和高并发-shell编程-bash

        除了source命令,还有   . 命令可以执行该shell脚本,也是表示在当前bash中执行:

1.4.1 linux和高并发-shell编程-bash

        bash是可以嵌套使用的,之间是父子关系。我们可以从进程中可以看出来。当我们再次执行bash命令:(第一个bash是12458,第二个是12483)

1.4.1 linux和高并发-shell编程-bash

        新开一个bash,并且执行我们的脚本程序:(bash执行结束之后,会自动退出),bash sh01.sh是新开了一个子bash。

1.4.1 linux和高并发-shell编程-bash

        我们在头文件中添加 #! /bin/bash

1.4.1 linux和高并发-shell编程-bash

        将shell脚本编辑成可执行文件,并且执行:(因为头文件,执行会建立一个bash进程,执行结束,bash进程退出,当没有这样的头文件的时候,也会默认开启一个子bash,但是像是python这种头文件必须要加上,不然默认执行为bash)

1.4.1 linux和高并发-shell编程-bash

1.4.1 linux和高并发-shell编程-bash