1.
Bash is the shell, or command language interpreter, that will appear in the GNU operating system. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh).
http://www.gnu.org/s/bash/
Dash(Debian Almquist shell) 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.
2.
Ubuntu 的默认Shell是 Dash,
Bash 和 Dash两者语法是有区别的,详见
http://www.igigo.net/archives/169
例如
[ string1 = string2 ] 和 [ string1 == string2 ]
bash: 支持两者
1
2
3
4
5
6
igi@gentoo ~ $ [
'a'
=
'a'
] &&
echo
'equal'
equal
igi@gentoo ~ $ [
'a'
==
'a'
] &&
echo
'equal'
equal
igi@gentoo ~ $
echo
$0
/bin/bash
dash: 只支持=
1
2
3
4
5
6
7
$ [
'a'
=
'a'
] &&
echo
'equal'
equal
$ [
'a'
==
'a'
] &&
echo
'equal'
[: 2: a: unexpected operator
$
echo
$0
dash
$
3.
如果Shell是从别的linux平台移植到Ubuntu, 应将 /bin/sh 改成bash
也有善意的提醒:何不去远方!昆明呀——赶一个花海;