Ubuntu的默认Shell是dash,而不是Bash!
$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 2010-10-03 23:42 /bin/sh -> dash
Ubuntu的
wiki 里面有官方的解释
,主要原因是dash更小,运行更快,且与POSIX兼容!
但目前存在的问题是,由于shell的更换,致使很多脚本出错,毕竟现在的很多脚本不是100%POSIX兼容。
解决方法就是将其默认的Shell更改为Bash:
方法一
:在终端执行 sudo dpkg-reconfigure dash ,然后选择 no (recommend) ;
方法二
:重新进行软链接
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh