2.2 Shell编程基础
Shell是核心程序Kernel之外的命令解析器,是一个程序,同时也是一种命令语言和程序设计语言。
作为一种命令语言Shell可以交互式地解析用户输入的命令。
作为一种程序设计语言Shell定义了各种参数,并且提供了高级语言才有的程序控制结构,虽然它不是Linux核心系统的一部分,但是它调用了Linux核心的大部分功能来执行程序,建立文件并以并行的方式来协调程序的运行。
比如,输入命令ls后,Shell就会解析ls这个命令并且向内核发出请求,内核执行这个命令之后,把结果告诉Shell,然后Shell把结果输出到屏幕。
Shell相当于是Windows系统下的command.com,在Windows中这样的解析器只有一个,但是在Linux中这样的解析器有很多个,比如Sh、Bash和Ksh等。
可通过echo $SHELL来查看自己运行的Shell。在Shell中还可以运行子Shell,直接输入csh命令就可以进入csh界面了。
Linux默认的Shell是Bash,下面的内容主要以此为主。