dash
如今Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互,它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准,下面简要列举下从bash迁移到dash一般需要注意的问题 1.定义函数 bash: function在bash中为关键字 1 2 3 4 5 6 igi@gentoo ~ $ foo(){ echo $0;} igi@gentoo ~ $ foo /bin/bash igi@gentoo ~ $ function foo2(){ echo $0;} igi@gentoo ~ $ foo2 /bin/bash dash: dash中没有function这个关键字 1 2 3 4 5 $ foo(){ echo $0;} $ foo dash $ function foo2(){ echo $0;} dash: Syntax error: "(" unexpected 2.select var in list; do command; done bash:支持 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 igi@gentoo ~ $ select input in A B > do > case $input in > A)