Bash 和 Dash

    技术2025-05-03  31

    安装交叉编译器出问题了,

    ./arm-2010q1-202-arm-none-linux-gnueabi.bin

    错误信息如下;

    Checking for required programs: awk grep sed bzip2 gunzip===============================================================Error: DASH shell not supported as system shell===============================================================The installer has detected that your system uses the dash shellas /bin/sh.  This shell is not supported by the installer.You can work around this problem by changing /bin/sh to be asymbolic link to a supported shell such as bash.For example, on Ubuntu systems, execute this shell command:   % sudo dpkg-reconfigure -plow dash   Install as /bin/sh? NoPlease refer to the Getting Started guide for more information,or contact CodeSourcery Support for assistance.

    Google搜:

    http://www.51testing.com/html/38/225738-208702.html

    Ubuntu下sh默认指向dash 。echo $SHELL  -->  /bin/bashtype sh      -->  /bin/sh然后我到/bin下看了有"sh -> dash",原来sh是/bin/dash的链接。后来google了一下才发现,buntu6.10已将先前默认的bashshell更换为了dash。其表现是/bin/sh链接到了/bin/dash而不是传统的/bin/bash。bash - GNU Bourne-Again SHelldash - Debian Almquist Shell可以分别man bash  / man dash看一下。那么怎么把sh改为指向bash呢?最暴力的方法当然是直接把/bin/sh的软链接改到bash中,如:ln -s /bin/bash /bin/sh但是,有优雅一些的方法,sudo dpkg-reconfigure dash出现菜单问你是否要dash的时候,选no就可以了。

    先看看链接:

    cuigang@cui:~$ ls -l /bin/shlrwxrwxrwx 1 root root 4 2010-10-12 17:04 /bin/sh -> dash

    按照出错的提示信息

       sudo dpkg-reconfigure -plow dash   Install as /bin/sh? No

    就可以了,再看看链接:

    cuigang@cui:~$ ls -l /bin/shlrwxrwxrwx 1 root root 4 2010-10-12 16:52 /bin/sh -> bash

    那么Dash是什么东西呢

    DASH


    Description

    DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible. It does this without sacrificing speed where possible. In fact, it is significantly faster than bash (the GNU Bourne-Again SHell) for most tasks.

    比bash小而快的东西

    最新回复(0)