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

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

1. Shell脚本的书写

  • 在写Shell脚本时,往往第一行要注明用什么解释器来解释这个脚本。

    • 如#!/bin/bash即用/bin/bash这个解释器来解释接下来的语句。
    • 还有如#!/bin/csh
  • Shell脚本的一般后缀是.sh

2. Shell的类型(以下列出相对流行的shell,但不是全部)

  • sh(全称Bourne Shell),是UNIX最初使用的shell,而且在每种UNIX上都可以使用。

    • Bourne Shell在shell编程方便相当优秀,但在处理与用户的交互方便作得不如其他几种shell。
  • bash(全称Bourne Again Shell),LinuxOS默认的,它是Bourne Shell的扩展。
    • 与Bourne Shell完全兼容,并且在Bourne Shell的基础上增加了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面。
  • csh(全称C Shell),是一种比Bourne Shell更适合的变种Shell,它的语法与C语言很相似。
  • Tcsh是Linux提供的C Shell的一个扩展版本。
    • Tcsh包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似C语言的语法,他不仅和Bash Shell提示符兼容,而且还提供比Bash Shell更多的提示符参数。
  • ksh(全称Korn Shell),集合了C Shell和Bourne Shell的优点并且和Bourne Shell完全兼容。
  • pdksh,是Linux系统提供的ksh的扩展。
    • pdksh支持人物控制,可以在命令行上挂起,后台执行,唤醒或终止程序。
时间: 2016-01-20

sh/bash/csh/Tcsh/ksh/pdksh等shell本质区别的相关文章

csh,tcsh,bash,sh等shell的区别_linux shell

出自bash的faq,仔细看看.顺便翻译学习一下. 复制代码 代码如下: Section C: Differences from other Unix shellsC:跟其他UNIX shells脚本的区别C1) How does bash differ from sh, the Bourne shell?C1) bash和 sh.Bourne shell的区别This is a non-comprehensive list of features that differentiate bash

关于登录shell和非登录shell的区别

什么是登录shell: 登录shell是可以用户登录使用的,比如/bin/bash ,/bin/sh ,/bin/csh......一般 Linux默认的用户shell都是bash,也就是你可以登录进去写命令. 非登录shell:经典的/bin/nologin就是一个非登录shell,也就是说如果一个用户默认的是它,这个用户即使登录进linux也无法使用linux. shell是用户和计算机交流的媒介,登录shell保证用户和计算机交流,非登录shell无法让计算机和用户交流. 关于用户的默认登

Advanced Bash Scripting Guide 6.4发布 shell脚本编程书

Advanced Bash Scripting Guide是一本shell脚本编程的教程书.此书应用广泛全面,总共有1012页,涵盖了几乎每一个环节的shell脚本.它包含了376个丰富的评论例子,多个表格,和交叉连接的索引/词汇.此书不只是一个shell脚本教程,还提供了一个基本编程技术的介强,如排序和递归. Advanced Bash Scripting Guide 6.4版本补充了两个重要的脚本例子说明,同时添加了新材料和错误修正. 在线阅读:http://www.tldp.org/LDP

csh脚本语法实例_linux shell

csh实例 参考: 复制代码 代码如下: #!/bin/csh -vx #csh -vx show the command before running to help debug #just to check syntax #csh -n $0 #argv if ($#argv < 2) then     echo "Sorry, but you entered too few parameters"     echo "usage:  $0 arg1 arg2   

linux shell 管道命令(pipe)使用及与shell重定向区别_linux shell

看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了.这次我们看下管道命令了.shell管道,可以说用法就简单多了. 管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力.然后,传递给下一个命令,作为标准的输入 standard input. 管道命令使用说明: 先看下下面图: comma

Csh的基本语法介绍_linux shell

在*unix系统中,常用的shell有sh,bash,csh/tcsh, ksh. sh来自于systemV的Unix,是传统的Unix的shell,直到现在很多的系统管理员仍然喜欢使用sh. bash来自于BSD Unix,语法非常类似于C语言,所以通常有C/C++编程背景的开发人员最喜欢使用. ksh是对sh的扩展,且吸收了csh的一些有用的功能,但是由于开始ksh的license是AT&T,所以后来出现了很多的ksh的开源版本,例如mksh,pdksh等. bash是现在很多Linux的发

浅析shell脚本知识之符号篇_unix linux

shell Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一 个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲 命令.Shell脚本和编程语言很相似,也有变量和流程控制语句,包括循环和分支.但Shell脚本是解释执行的,不需 要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一 行敲到Shell提示符下执行.作为程序设计语言,它虽然不是 Linux系统内核的一部分,但它调用了系统

Shell编程指南_linux shell

基础知识 shell执行方式   sh xx.sh (文件须有r权限)  ||  ./xx.sh (文件须有x权限) 注:sh xx.sh方式比较安全 文件名后缀 .sh shell内容开头 #!/bin/bash || #!/bin/sh || #!/bin/csh || #!/bin/ksh 注:#!/bin/bash 使用比较多 退出  exit 0 变量赋值与使用 不需要定义即可直接使用  注:变量赋值时=号两端不能有空格 以$变量名或${变量名}访问变量内容 流程控制 判断  注:确保

《R和Ruby数据分析之旅》—第1章 1.1节Ruby

第1章 握住探险之鞭--认识Ruby R和Ruby数据分析之旅 <夺宝奇兵>一直是我最喜欢的系列电影.在我年少时,哈里森·福特就是我心中的英雄.我一直很喜欢印第安纳·琼斯抽鞭子的样子.其实正是在<夺宝奇兵>里,我第一次知道鞭子是什么东西. <夺宝奇兵>最早的两部--<法柜奇兵>和<魔域奇兵>中,印第安纳正值壮年,坚定刚毅,脾气暴躁.在我看过这两部之后,心里就对他标志性的帽子和鞭子产生了疑惑--为什么一定要戴那样一顶毡帽,为什么居然要拿一条鞭子?