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

切换回去从新执行一遍命令抉择即可