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
切换回去从新执行一遍命令抉择是即可