dash与bash的区别详情可以查看官方说明:https://wiki.ubuntu.com/DashAsBinSh
记录一下由此带来的问题及解决办法:
在使用嵌入式Linux开发时,使用芯片官方提供的SDK用其脚本解压时发现如下报错:
./sdk.unpack: 2: ./sdk.unpack: source: not found
随之一系列的ECHO找不到等错误提示
打开脚本查看第二行所引用的文件及路径均正确,export命令查看相关环境变量也没问题,几番折腾最终找到原因
从Ubuntu 6.10开始,默认使用dash(the Debian Almquist Shell)而不是bash(the GNUBourne-Again Shell).
但Login Shell还是bash. 原因是dash更快、更高效,而且它符合POSIX规范。
Ubuntu在启动的时候会运行很多shell脚本,使用dash可以加快启动速度。
于是采用如下命令切换至bash即可:
# sudo dpkg-reconfigure dash

默认选择否,回车即可
可以用: ll /bin/sh 查看

网友评论