zoukankan      html  css  js  c++  java
  • 【shell】常用的几种shell解释器:sh,bash,zsh,ash,csh

    Date: 2018.9.6


    1、参考:

    https://blog.csdn.net/gatieme/article/details/52741221
    https://blog.csdn.net/lixinze779/article/details/81012318
    https://blog.csdn.net/whatday/article/details/78929247
    http://man.linuxde.net/sh
    https://blog.csdn.net/SoaringLee_fighting/article/details/78759448

    2、常用shell

    Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件。

    常见的 Shell 有 sh、bash、csh、tcsh、ash,zsh 等。
    sh
    sh 的全称是 Bourne shell,由 AT&T 公司的 Steve Bourne开发,为了纪念他,就用他的名字命名了。

    sh 是 UNIX 上的标准 shell,很多 UNIX 版本都配有 sh。sh 是第一个流行的 Shell。

    csh
    sh 之后另一个广为流传的 shell 是由柏克莱大学的 Bill Joy 设计的,这个 shell 的语法有点类似C语言,所以才得名为 C shell ,简称为 csh。

    Bill Joy 是一个风云人物,他创立了 BSD 操作系统,开发了 vi 编辑器,还是 Sun 公司的创始人之一。
    BSD 是 UNIX 的一个重要分支,后人在此基础上发展出了很多现代的操作系统,最著名的有 FreeBSD、OpenBSD 和 NetBSD,就连 Mac OS X 在很大程度上也基于BSD。
    tcsh
    tcsh 是 csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持。
    ash
    一个简单的轻量级的 Shell,占用资源少,适合运行于低内存环境,但是与下面讲到的 bash shell 完全兼容。
    bash
    **bash shell 是 Linux 的默认 shel**l,本教程也基于 bash 编写。

    bash 由 GNU 组织开发,保持了对 sh shell 的兼容性,是各种 Linux 发行版默认配置的 shell。
    bash 兼容 sh 意味着,针对 sh 编写的 Shell 代码可以不加修改地在 bash 中运行。
    尽管如此,bash 和 sh 还是有一些不同之处:
    一方面,bash 扩展了一些命令和参数;
    另一方面,bash 并不完全和 sh 兼容,它们有些行为并不一致,但在大多数企业运维的情况下区别不大,特殊场景可以使用 bash 代替 sh。
    查看 Shell
    Shell 是一个程序,一般都是放在/bin或者/user/bin目录下,当前 Linux 系统可用的 Shell 都记录在/etc/shells文件中。/etc/shells是一个纯文本文件,你可以在图形界面下打开它,也可以使用 cat 命令查看它。

    通过 cat 命令来查看当前 Linux 系统的可用 Shell:

    $ cat /etc/shells
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin
    /bin/tcsh
    /bin/csh

    在现代的 Linux 上,sh 已经被 bash 代替,/bin/sh往往是指向/bin/bash的符号链接。

    如果你希望查看当前 Linux 的默认 Shell,那么可以输出 SHELL 环境变量:

    $ echo $SHELL
    /bin/bash

    输出结果表明默认的 Shell 是 bash。


    THE END!

  • 相关阅读:
    linux 串口调试总结
    linux 环境变量的设置方法
    linux 内核的配置和编译
    linux 串口应用程序的编写指南
    linuxdifff 和 patch 的使用指南
    linux shell 的学习随笔
    特性阻抗和频率有关吗?
    linux source和export命令的使用
    关于SI设计与SI仿真的一点浅见
    LINUX下的tty,console与串口分析
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532379.html
Copyright © 2011-2022 走看看