1 bash与dash
从Ubuntu 6.10开始,默认使用dash(theDebian Almquist Shell)而不是bash(the GNUBourne-Again Shell)但Login Shell还是bash. 原因是dash更快、更高效,而且它符合POSIX规范。Ubuntu在启动的时候会运行很多shell脚本,使用dash可以加快启动速度。
2 执行脚本常常会有一些不知名的错误
比如:build.sh: caller: not found
我还遇到过还有一些其他莫名其妙的错误
先看下自己的脚本是用bash解析还是dash解析的,脚本我们一般默认都是用bash
先用命令ls -l /bin/sh看看自己系统的脚本解析
3 切换sh为bash/dash
sudo dpkg-reconfigure dash
出现一个界面选择否切换为bash解析即可解决:build.sh: caller: not found
切换回去重新执行一遍命令选择是即可