初识shell
什么是shell?
通俗的说,shell 就是输入Linux 指令并得到计算机输出的地方。shell 是Linux 的外壳,是Linux 的用户界面,可以为用户提供输入命令和参数,并可以得到命令执行结果的环境。
当前,我们所用的可执行程序一般有两种实现方式:一种是二进制方式;另一种是脚本(script)方式。
二进制方式:
是先将编写好的程序(如C/C++程序)进行编译,变成计算机可识别的指令代码(如.exe 文件),然后再执行。这种编译好的程序只能执行、使用,却看不到它的程序内容。
脚本(script)方式:
简单地说就是由一条一条的命令组成的文本文件,可以用记事本查看或者编辑。脚本程序在执行时,是由系统的一个解释器将其一条条地翻译成计算机可识别的指令,并按程序的逻辑顺序执行(一般来说,脚本程序是确定的一系列控制计算机进行运算操作的动作的组合,在其中可以实现一定的逻辑分支等)。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。
Linux shell 脚本,则是将一些可执行的Linux 命令放在一个文件里面,然后按照顺序(确切地说,是逻辑顺序,因为会有判断、分支、循环等),命令一条条地执行。
Bash 诞生于1987 年,它是sh 的超集,几乎完全兼容sh 并拥有更多的特性和功能。在UNIX 系统里,程序sh 与Bash是不同的;而在Linux 系统里,也有一个名字为sh 的程序,但它不是真正的sh,而是Bash,因为Linux 里面的sh 是一个指向程序Bash 的符号链接,这个符号链接的设置是为了使sh 脚本在Linux 下不做修改就可运行。读者如果有机会看到较旧的脚本,会发现第一行大多是#!/bin/sh。