zoukankan      html  css  js  c++  java
  • Shell bash和sh区别

        Shell 中文意思贝壳,寓意类似内核的壳。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

        Shell 脚本(shell script)是一种为 shell 编写的脚本程序。常说的shell通常都是指 shell 脚本,但shell和shell script是两个不同的概念。通常说“shell编程”都是指 shell 脚本编程,不是指开发 shell 自身。

        sh(Bourne Shell)是一个早期的重要shell,1978年由史蒂夫·伯恩编写,并同Version 7 Unix一起发布。

        bash(Bourne-Again Shell)是一个为GNU计划编写的Unix shell。1987年由布莱恩·福克斯创造。主要目标是与POSIX标准保持一致,同时兼顾对sh的兼容,是各种Linux发行版标准配置的Shell,在Linux系统上/bin/sh往往是指向/bin/bash的符号链接。

        dash (Debian Almquist shell)一种 Unix shell。它比 Bash 小,只需要较少的磁盘空间,但是它的对话性功能也较少。它由 NetBSD版本的Almquist shell (ash)发展而来,于1997年由赫伯特·许(Herbert Xu)移植到Linux上,于2002年改名为 dash。

    含义:

    #!是一个特殊标记,说明这是一个可执行的脚本。除了第一行,其他以#开头的都不再生效,为注释。

    #!后面是脚本的解释器程序路径。这个程序可以是shell,程序语言或者其他通用程序,常用的是bash、sh。

        #!/bin/bash
        #!/bin/sh

    查看:

        cat /etc/shells    查看系统可使用的shell类型
         
        cat /etc/passwd    查看当前默认设置,一般在第一行:
        root:x:0:0:root:/root:/bin/bash
         
        ll /bin/sh    查看当前sh状态
        lrwxrwxrwx 1 root root 4 3月  31  2018 /bin/sh -> dash

  • 相关阅读:
    传感器系列之4.4超声测距传感器
    传感器系列之4.3流量传感器
    传感器系列之4.2气压传感器
    传感器系列之4.12GPS定位传感器
    传感器系列之4.1振动传感实验
    传感器系列之3.4继电器
    传感器系列之3.2直流电机
    Spring切面编程步骤
    SpringMVC中的java.lang.ClassNotFoundException: org.aspectj.weaver.BCException 调试过程记录
    SpringMVC中使用@Value给非String类型注入值
  • 原文地址:https://www.cnblogs.com/cnhk19/p/11794234.html
Copyright © 2011-2022 走看看