平台Linux编译,可能会遇到脚本设置类型不同(如:芯片原厂bash而你的ubuntu默认是dash),导致使用和预期不一致的情况(如tftp烧写失败)。
从Ubuntu 6.10开始,默认使用dash(theDebian Almquist Shell)而不是bash(the GNUBourne-Again Shell). 但Login Shell还是bash. 原因是dash更快、更高效,而且它符合POSIX规范。Ubuntu在启动的时候会运行很多shell脚本,使用dash可以加快启动速度。
————————————————
版权声明:本文为CSDN博主「Hansel」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hansel/article/details/9817129
运行一个成熟的脚本,出现如下错误
Syntax error: "(" unexpected
下面的语句不一定能表示shell的真实状态!
echo $SHELL
/bin/bash
看似是bash,实则不然!
ls -al /bin/sh
lrwxrwxrwx 1 root root 4 8月 10 2018 /bin/sh -> dash
当前配置为dash
设置为bash
sudo ln -fs /bin/bash /bin/sh
设置为dash
sudo ln -fs /bin/dash /bin/sh