SHELL 编程入门与提高(三)SHELL中的语句详解(上)
2012-07-29 17:26
477 查看
在讲解shell中常用语句之前,首先对于什么是shell以及常用的shell种类进行简单的介绍。之所以介绍这些内容的原因是,每一种shell是不同的,它们都有自己对应的内建的命令,可配置的命令行提示符和其他特点。因此有些语句是属于个别shell而其他shell不具有的,有些语句虽然每个shell都有,但是在不同shell环境中的语法是不同的。因此,有必要对shell有个统一的和总体的认识。
Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层,负责将用户的命令解释为操作系统可以理解的低级语言,并将操作系统响应的信息以用户可以了解的方式来显示。从用户登陆到注销期间,用户输入的每个命令都会经过解译及执行,其负责机制就是shell。shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。
Ubuntu 12.04 LTS系统提供了7种不同的shell,下面分别简单介绍下这些shell的特点及其在Ubuntu系统中的位置。
从上面这个表格来看,所谓的7种shell,事实上就是4种shell。
Bourne shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne
shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux操作系统默认的shell是Bourne
Again shell,它是Bourne shell的扩展,简称Bash,与Bourne
shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多Cshell和Korn
shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。
rsh是“restricted shell”(也有称是“remote
shell”远程shell)的缩写,该命令在指定的远程主机上启动一个shell并执行用户在rsh命令行中指定的命令;如果用户没有给出要执行的命令,rsh就用rlogin命令使用户登录到远程机上,主要应用与网络操作中。
Korn shell集合了Cshell和Bourne
shell的优点并且和Bourne shell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序。
C shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。Linux为喜欢使用Cshell的人提供了Tcsh。Tcsh是Cshell的一个扩展版本。Tcsh包括命令行编辑、可编程单词补全、拼写校正、历史命令替换、作业控制和类似C语言的语法,它不仅和Bash
shell是提示符兼容,而且还提供比Bash shell更多的提示符参数。
Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层,负责将用户的命令解释为操作系统可以理解的低级语言,并将操作系统响应的信息以用户可以了解的方式来显示。从用户登陆到注销期间,用户输入的每个命令都会经过解译及执行,其负责机制就是shell。shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。
Ubuntu 12.04 LTS系统提供了7种不同的shell,下面分别简单介绍下这些shell的特点及其在Ubuntu系统中的位置。
Name | Description | Location |
bash | The Bourne Again shell | /bin/bash |
ksh | The Korn shell | /bin/ksh, /usr/bin/ksh |
pdksh | A symbolic link to ksh | /usr/bin/pdksh |
rsh | The restricted shell (for network operation) | /usr/bin/rsh |
sh | A symbolic link to bash | /bin/sh |
tcsh | A csh-compatible shell | /bin/tcsh |
zsh | A compatible csh, ksh and sh shell | /bin/zsh |
Bourne shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne
shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux操作系统默认的shell是Bourne
Again shell,它是Bourne shell的扩展,简称Bash,与Bourne
shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多Cshell和Korn
shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。
rsh是“restricted shell”(也有称是“remote
shell”远程shell)的缩写,该命令在指定的远程主机上启动一个shell并执行用户在rsh命令行中指定的命令;如果用户没有给出要执行的命令,rsh就用rlogin命令使用户登录到远程机上,主要应用与网络操作中。
Korn shell集合了Cshell和Bourne
shell的优点并且和Bourne shell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序。
C shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。Linux为喜欢使用Cshell的人提供了Tcsh。Tcsh是Cshell的一个扩展版本。Tcsh包括命令行编辑、可编程单词补全、拼写校正、历史命令替换、作业控制和类似C语言的语法,它不仅和Bash
shell是提示符兼容,而且还提供比Bash shell更多的提示符参数。
相关文章推荐
- SHELL 编程入门与提高(三)SHELL中的语句详解(下)
- Linux学习笔记(9)之Shell编程入门--判断语句
- SHELL 编程入门与提高(四)SHELL脚本中函数的应用
- SHELL 编程入门与提高(二)bash/pdksh中的表达式比较
- Linux常用命令全集 linux_Shell(脚本)编程入门_实例讲解详解
- SHELL 编程入门与提高(一)第一个shell程序
- 详解Shell编程之if语句实战(小结)
- Hadoop MapReduce编程 API入门系列之mr编程快捷键活用技巧详解(四)
- Shell 编程入门
- 以编程方式使用批语句节省 数据库 IO 来提高性能
- [网摘学习]Shell脚本编程学习入门:Shell编程基础
- [转贴]linux Shell编程入门 实例讲解详解
- Shell脚本入门(九) - 循环控制语句:for in
- TCSH shell 编程入门
- Shell脚本编程30分钟入门
- shell脚本编程之if语句学习笔记
- Shell编程实例-检测Nginx服务是否正常运行(详解)
- Shell脚本编程学习入门 01
- shell脚本编程之循环语句