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支持人物控制,可以在命令行上挂起,后台执行,唤醒或终止程序。

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

  1. sh/bash/csh/Tcsh/ksh/pdksh等shell的区别

    w shell confusion..what is diff between bash, ksh, csh, tcsh..??  http://www.linuxquestions.org/ques ...

  2. Shell: sh,bash,csh,tcsh等shell的区别(转)

    转载自:http://zhidao.baidu.com/question/493376840.html, http://blog.sina.com.cn/s/blog_71261a2d0100wmbj ...

  3. 转 关于shell脚本中#!/bin/bash and #!/bin/ksh 的说明

      1.在文件里面输入一系列命令,可以直接执行吗? 可以.作者认为,这时调用的是当前用户默认使用的shell. 如果其中一个命令有错,后面的命令还是会继续执行下去的 如果说使用了”&& ...

  4. shell sh bash 概念

    在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本.目前研发送测的shell脚本中主要有以下两种方式:(1) #!/bin/sh(2) #!/bin/bash以上两种方式有什么区别? ...

  5. Linux下sh/bash/source/.命令的区别(转)

    一..sh文件介绍 .sh为Linux的脚本文件,我们可以通过.sh执行一些命令,可以理解为windows的.bat批处理文件. 二.点命令(.) .命令和source是同一个命令,可以理解为sour ...

  6. 怎样用 Bash 编程:逻辑操作符和 shell 扩展

    学习逻辑操作符和 shell 扩展,本文是三篇 Bash 编程系列的第二篇. Bash 是一种强大的编程语言,完美契合命令行和 shell 脚本.本系列(三篇文章,基于我的 三集 Linux 自学课程 ...

  7. 交互式shell和非交互式shell、登录shell和非登录shell的区别

    交互式shell和非交互式shell.登录shell和非登录shell的区别.首先,这是两个不同的维度来划分的,一个是是否交互式,另一个是是否登录. 交互式shell和非交互式shell(intera ...

  8. maya shell 和 UV shell 的区别

    maya shell 和 UV shell 的区别 shell 是 maya 模型自身分离的部分 UV shell 是 UV 分离的部分 有多少个shell,就至少有多少个 UV shell,但是一个 ...

  9. Quotes in shell(bash, csh)

    There are three kinds of quote: single quote('), double quote("), backslash(\), how shell expla ...

随机推荐

  1. ios archives 出现的是other items而不是iOS Apps的解决方案

    ios archives 出现的是other items而不是iOS Apps的解决方案 项目打包时出现的是不是出现在iOS Apps栏目下面,而是Other Items而且右边对应的Upload t ...

  2. javascript闭包的应用

    我印象中,javascript的闭包属于进阶的范畴,无非是用来在面试中装装逼而已.你看我身边的一个小伙子,有一天我装逼地问他什么是javascript的闭包,他居然连听都没听说过.但他做起前端的东西来 ...

  3. sql 语法树 常量

    SELECT id,'|',url,'|',update_time FROM tab LIMIT 10;SELECT COUNT(1) AS parent,(SELECT COUNT(1) FROM ...

  4. SE11 数据表中 日志数据更改 勾选的作用

        [园工]HF-abap-Rainy(574570549)  11:10:12这个有啥作用,勾上了怎么查修改日志呢,[园丁]SH-CRM-ALEX(8738890)  11:13:53SCU3[ ...

  5. 高负载linux调优

    调整Linux内核参数: # vi /etc/sysctl.conf# tells the Kernel it's ok if services bind to non-existant IP ADD ...

  6. Android ConstraintLayout的基本使用

    升级Android studio到2.3版本之后,发现新建Activity或fragment时,xml布局默认布局由RelativeLayout更改为ConstraintLayout了,既然已经推荐使 ...

  7. SQLite数据库框架--FMDB简单介绍

    1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比 ...

  8. bzoj1007 [HNOI2008]水平可见直线——单调栈

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1007 可以把直线按斜率从小到大排序,用单调栈维护,判断新直线与栈顶的交点和栈顶与它之前直线的 ...

  9. bzoj 3709: [PA2014]Bohater【贪心】

    先打能回血的,按消耗从小到大打: 然后按回血量降序打剩下的(把消耗和回血反着看就是上一种怪,打法一样): 中间体力小于0就输出无解 #include<iostream> #include& ...

  10. bzoj 4826: [Hnoi2017]影魔【单调栈+树状数组+扫描线】

    参考:https://www.cnblogs.com/lcf-2000/p/6789680.html 这是一个相对码量少的做法,用到了区间修改区间查询的树状数组,详见:www.cnblogs.com/ ...