您的位置:首页 > 运维架构 > Shell

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系统中的位置。

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

从上面这个表格来看,所谓的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更多的提示符参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: