灰儿 发表于 2016-5-30 21:41:38

ubuntu下shell脚本运行异常:bash和dash的区别

在ubuntu server 14.04 上安装wdcp,在用sudo sh lanmp.sh 来运行时出现了意料之外到结果,我就在想是什么原因,后来终于发现是Ubuntu下sh默认指向dash,其表现是/bin/sh链接到了/bin/dash而不是传统的/bin/bash,而编译常用的是bash。是ubuntu的dash与bash兼容性不好导致。

#先看看是用的哪个 shell
ls -al /bin/sh


那么怎么把sh改为指向bash呢?

# sudo dpkg-reconfigure dash
出现菜单问你是否要dash的时候,选no(否)就可以了,如下图:


方法二
sudo ln -fs /bin/bash /bin/sh


再次检查一下, ls /bin/sh -al 发现软链接指向/bin/bash就可以了。









页: [1]
查看完整版本: ubuntu下shell脚本运行异常:bash和dash的区别