Shell俗称壳程序,是一种由C语言编写的用于和操作系统交互的命令解析器软件。它用来接收用户输入命令,然后调用相应的应用程序。
Shell同时又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
Shell 有两种执行命令的方式交互式和批处理,如下:
通常我们会直接在终端中输入命令来执行,但更多的时候一些工作并不是一个命令就能处理完成的,需要多条命令以及根据不同输出结果判断再执行。这时候批处理,编写Shell脚本就是一个非常不错的方法。
Shell脚本和编程语言非常相似,有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。
上一章节已经讲过,Shell 是一种脚本语言。那么,就必须要有对应的解释器来执行这些脚本。
Unix/Linux 上常见的 Shell 脚本解释器有 bash、sh、csh、ash、ksh、tcsh、zsh等几种,习惯上统称它们为Shell。我们常说有多少种 Shell,其实说的是 Shell 脚本解释器。
bash 是 Linux 标准默认的 shell,本教程也基于 bash 讲解。bash 由 Brian Fox 和 Chet Ramey 共同完成,是 BourneAgain Shell 的缩写,内部命令一共有40个。
SHELL入门教程
学习Shell之前,我们先来认真的认识一下Shell,那么什么是Shell呢?
Shell俗称壳程序,是一种由C语言编写的用于和操作系统交互的命令解析器软件。它用来接收用户输入命令,然后调用相应的应用程序。
Shell同时又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
Shell 有两种执行命令的方式交互式和批处理,如下:
通常我们会直接在终端中输入命令来执行,但更多的时候一些工作并不是一个命令就能处理完成的,需要多条命令以及根据不同输出结果判断再执行。这时候批处理,编写Shell脚本就是一个非常不错的方法。
Shell脚本和编程语言非常相似,有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。
上一章节已经讲过,Shell 是一种脚本语言。那么,就必须要有对应的解释器来执行这些脚本。
Unix/Linux 上常见的 Shell 脚本解释器有 bash、sh、csh、ash、ksh、tcsh、zsh等几种,习惯上统称它们为Shell。我们常说有多少种 Shell,其实说的是 Shell 脚本解释器。
bash 是 Linux 标准默认的 shell,本教程也基于 bash 讲解。bash 由 Brian Fox 和 Chet Ramey 共同完成,是 BourneAgain Shell 的缩写,内部命令一共有40个。
Linux 使用它作为默认的 shell 是因为它有诸如以下的特色:
sh 由 Steve Bourne 开发,是 Bourne Shell 的缩写,sh 是 Unix 标准默认的 shell。
csh 是 Linux 比较大的内核,它由以 William Joy 为代表的共计47位作者编成,共有52个内部命令。该 shell 其实是指向 /bin/tcsh 这样的一个 shell,也就是说,csh 其实就是 tcsh。
在Linux系统中,系统默认一般选用bash 作为系统标准默认的 shell。当然现在也有更多系统采用功能将大的zsh作为默认Shell。
你可以通过执行如下命令来查看系统支持的shell列表:
cat /etc/shells