1、shell概述

在了解shell之前,先了解一下操作系统(Operating System,OS),操作系统是位于计算机硬件之上的第一层软件,所有其他软件都要在操作系统的支持下才能运行。操作系统与硬件离的最近的那一部分称为操作系统内核(Kernel),它是操作系统最内侧部分,它的存在使得硬件和软件之间的通信得以顺利进行;操作系统最外侧部分就是shell,shell包裹着操作系统“精密的”内部使其免受意外之损,这也是shell名字的来由。 shell是一种程序,它为用户提供了与操作系统交互的接口。当用户登录或打开终端或打开控制台窗口后,操作系统为用户启动shell。

2、shell的种类

shell种类有很多,常见的有:

2.1、The Bourfne Shell

这种shell由贝尔实验室Steve Bourne开发,是最早的UNIX shell。它因体积小速度快的特点成为shell编程中的首先shell。这种shell的缺点是它缺少交互式使用的特点,比如不能重新调用历史命令,也缺少内置的算术运算和逻辑表达式处理能力。 Bourne shell是Solaris操作系统中默认的shell,它还有如下特征:

  • 命令全路径名是/bin/sh和/sbin/sh
  • 非root用户下默认提示符是$
  • root用户下默认提示符是#

2.2、The C Shell

该shell由加州大学伯克利分校的Bill Joy开发,是对原有UNIX shell的增强。引入的特性包括交互式使用,比如别名和历史命令。引入了便捷的编程特性,比如内置算术运算和类C表达式语法。它还有如下特征:

  • 命令全路径是/bin/csh
  • 非root用户下默认提示符是主机名+%
  • root用户下默认提示符是主机名+#

2.3、The Korn Shell

该shell有贝尔实验室David Korn开发,是Bourne Shell的超集,支持Bourne Shell的一切语法特性,拥有可与C shell相媲美的交互式特性,包括内置算术运算、类C数组、函数和字符串处理的特色,比C shell更快,兼容由Bourne shell编写的脚本。它还有如下特征:

  • 命令全路劲是/bin/ksh
  • 非root用户下默认提示符是$
  • root用户下默认提示符是#

2.4、The GUN Bourne-Again Shell

该sehll兼容Bourne shell,从C shell和Korn shell中引入了新特性,可以使用方向键映射到命令以便重调或编辑。它还有如下特征:

  • 命令全路径是/bin/bash
  • 非root用户下默认提示符是bash-x.xx$,http://x.xxx暗示了shell版本号
  • root用户下默认提示符是bash-x.xx%,x.xx同样暗示了shell版本号

2.5 下面以表格形式对比一下上面四种shell:

shell的种类还有很多,其中GUN Bourne Again Shell(Bash)使用非常广泛,因此本教程将重点介绍Bash。

csh shell_shell编程(一):初始shell相关推荐

  1. shell编程-初始shell及变量

    shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...

  2. sh/bash/csh/Tcsh/ksh/pdksh等shell本质区别

    sh/bash/csh/Tcsh/ksh/pdksh等shell本质区别 1. Shell脚本的书写 在写Shell脚本时,往往第一行要注明用什么解释器来解释这个脚本. 如#!/bin/bash即用/ ...

  3. Linux高级专题详解--shell编程大全(shell变量,if语句,case语句,for循环,while循环,函数调用,数组,正则表达式,shell脚本三剑客--grep,sed,awk家族)

    shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...

  4. linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  5. Linux编程视频课程Shell从入门到精通(完整版)

    课程目标: 本套Linux编程视频课程适用于初学者以及各类运维自动化人员,我们可以通过本次系列的shell编程技术学习,掌握企业里面的运维编程必备脚本编程,同时掌握企业运维到底要求会什么东西,有哪些是 ...

  6. Shell编程规范与Shell中的管道符号(|)和重定向符号<、>、>>

    Shell脚本编程规范 Shell脚本的应用场景 Shell编程规范 1.Shell解释器程序的种类 2.编写一个简单的Shell脚本 3.执行脚本文件的方式 4.Shell环境中的:管道(|)与重定 ...

  7. linux100day(day5)--编程原理和shell脚本

    通过前面的学习,我们对于linux文件系统有了一定的了解,我们接下来会初步接触编程原理和尝试编写shell脚本来实现功能. day05--编程原理和shell脚本初步认识 编程原理 在早期编程中,因为 ...

  8. csh shell_Shell基础知识

    一.什么是Shell 1.Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(k ...

  9. 编程语言和shell编程的基础内容以及grep、egrep命令及相应的正则表达式和用法...

    bash的特性之多命令执行的逻辑关系: 1.命令替换 COMMAND1 $(COMMAND2) 2.管道 COMMAND1 | COMMAND2 | COMMAND3 ... 3.顺序执行结构 COM ...

最新文章

  1. MongoDB 标准连接字符串
  2. 【SSRS】入门篇(二) -- 建立数据源
  3. English Speech-Graduation from University
  4. 第1章 1.9计算机网络概述--OSI参考模型和网络安全
  5. pwnable.kr lotto题解
  6. 根据DLL创建LIB输出库的方法
  7. [css] 说说你对z-index的理解
  8. l4 l7 代理_什么是四层(L4 proxy)和七层负载均衡(L7 proxy)?区别是什么? 翻译自Nginx官网...
  9. MySQL无法远程连接解决方案
  10. 添加内核驱动模块(6)(mydriver.c+ Konfig+Makefile )
  11. win7打开计算机死机,win7系统进入桌面总是死机或者卡死怎么办
  12. C# 匿名函数_C# 匿名函数使用整理
  13. 用Python做一个美丽的每日计划
  14. Win10下次使用debug进入DOS进行汇编开发
  15. 【数据库】数据、数据库、数据库管理系统、数据库系统
  16. contiki学习笔记(二)CTK图形界面
  17. 【java】getResourceAsStream(“.properties“)配置文件无法读入问题
  18. 面经:阿里二面自我剖析---Java岗(50分钟)
  19. 量子计算机物理装置的总称,量子到底是什么?解读量子世界以及量子的实际应用!...
  20. android技术需求,支撑你各种安卓相机开发需求CameraView

热门文章

  1. Windows禁止启动某个程序!偷偷禁止,别人就打不开。。。比如,微信 LOL 吃鸡 爱奇艺
  2. 12个深度学习面试问题
  3. 精简易懂,30 分钟学会 SVD 矩阵分解,很强!
  4. 二维码是什么原理?第一次有人说得这么明白
  5. 采用编码器-解码器匹配语义分割的图像压缩
  6. MPASNET:用于视频场景中无监督深度人群分割的运动先验感知SIAMESE网络
  7. 好骚气的树状数组的解释
  8. squid与varnish
  9. 2014-02-26_javascript_event
  10. jquery学习手记(6)CSS, Styling, Dimensions