zoukankan      html  css  js  c++  java
  • linux -- ubuntu dash bash

    终端:即所谓的命令行界面,又称命令终端,用户输入shell命令用的窗口,跟Windows里的DOS界面差不多。

    shell:意为“壳”,是操作系统与用户交互用的接口,在命令终端里可以使用shell。shell将用户输入翻译为操作系统能处理的指令。shell提供了一些内置命令,也支持调用外面工具。

    dash:是ubuntu里默认的shell。shell有好多种,除支持默认的POSIX标准外还支持不同的扩展语法,目前最常用的是bash,很多shell学习的教程都是针对bash的。dash除了不支持数组外,其实和bash差别也不大。ubuntu里可以将默认shell由dash改为bash。

    buntu的 shell 默认安装的是 dash,而不是 bash。
    运行以下命令查看 sh 的详细信息,确认 shell 对应的程序是哪个:
    $ls -al /bin/sh

    dash 比 bash 更轻,更快。但 bash 却更常用。
    如果一些命令、脚本等总不能正常执行,有可能是 dash 的原因。
    比如编译 Android 源代码的时候,如果使用 dash,则有可能编译出错,或者编译的系统不能启动。

    通过以下方式可以使 shell 切换回 bash:
    $sudo dpkg-reconfigure dash
    然后选择 no 或者 否 ,并确认。
    这样做将重新配置 dash,并使其不作为默认的 shell 工具。

    也可以直接修改 /bin/sh 链接文件,将其指定到 /bin/bash:
    $sudo ln -fs /bin/bash /bin/sh

    还有一种解决方法是,在脚本文件中直接指定使用的 shell,而不是指定 sh:
    例如使用 #!/bin/bash 或者 #!/bin/dash 而不是#!/bin/sh。
    但这样将丧失脚本的通用性,使其在不具备所指定脚本的系统下不能被执行。

  • 相关阅读:
    读取Excel还用POI?试试这款开源工具
    Maven optional 关键字透彻图解
    Java 8 Stream Api 中的 peek 操作
    Lombok 使用详解,简化Java编程
    C# 基础知识系列- 16 开发工具篇
    C# 基础知识系列- 15 异常处理篇
    C# 基础知识系列- 14 IO篇 流的使用
    Java Spring Cloud 实战之路-01 框架选型
    C# 基础知识系列- 14 IO篇 文件的操作
    C# 基础知识系列- 14 IO篇 文件的操作
  • 原文地址:https://www.cnblogs.com/hf8051/p/4538986.html
Copyright © 2011-2022 走看看