ubuntu下shell脚本运行异常:bash和dash的区别
2013-07-15 17:11
337 查看
我用bash到语法写了一个shell脚本(准确的说是把书上的脚本敲进电脑),在ubuntu下,用sh test.sh来运行,但是出现了意料之外到结果,比如echo
-e "\nTest\n"到执行就不同,直接用sh test.sh运行,会打印出-e(作为字符串);而直接在终端中输入echo -e "\nTest\n"是不会输出"-e"的。
我就在想是什么原因,后来终于发现是Ubuntu下sh默认指向dash。
echo $SHELL --> /bin/bash
type sh --> /bin/sh
然后我到/bin下看了有"sh -> dash",原来sh是/bin/dash的链接。
后来google了一下才发现,buntu6.10已将先前默认的bashshell更换为了dash。其表现是/bin/sh链接到了/bin/dash而不是传统的/bin/bash。
bash - GNU Bourne-Again SHell
dash - Debian Almquist Shell
可以分别man bash / man dash看一下。
那么怎么把sh改为指向bash呢?
最暴力的方法当然是直接把/bin/sh的软链接改到bash中,
如:ln -s /bin/bash /bin/sh
但是,有优雅一些的方法,
sudo dpkg-reconfigure dash
出现菜单问你是否要dash的时候,选no就可以了。
再次检查一下, ls /bin/sh -al 发现软链接指向/bin/bash就可以了。
-e "\nTest\n"到执行就不同,直接用sh test.sh运行,会打印出-e(作为字符串);而直接在终端中输入echo -e "\nTest\n"是不会输出"-e"的。
我就在想是什么原因,后来终于发现是Ubuntu下sh默认指向dash。
echo $SHELL --> /bin/bash
type sh --> /bin/sh
然后我到/bin下看了有"sh -> dash",原来sh是/bin/dash的链接。
后来google了一下才发现,buntu6.10已将先前默认的bashshell更换为了dash。其表现是/bin/sh链接到了/bin/dash而不是传统的/bin/bash。
bash - GNU Bourne-Again SHell
dash - Debian Almquist Shell
可以分别man bash / man dash看一下。
那么怎么把sh改为指向bash呢?
最暴力的方法当然是直接把/bin/sh的软链接改到bash中,
如:ln -s /bin/bash /bin/sh
但是,有优雅一些的方法,
sudo dpkg-reconfigure dash
出现菜单问你是否要dash的时候,选no就可以了。
再次检查一下, ls /bin/sh -al 发现软链接指向/bin/bash就可以了。
相关文章推荐
- ubuntu下shell脚本运行异常:bash和dash的区别
- Ubuntu下shell脚本运行异常:bash和dash的区别
- Ubuntu下shell脚本运行异常:bash和dash的区别
- Ubuntu下shell脚本运行异常:bash和dash的区别
- ubuntu下shell脚本运行异常:bash和dash的区别
- Ubuntu学习总结-08 Ubuntu运行Shell脚本报 shell /bin/bash^M: bad interpreter错误问题解决
- Ubuntu shell脚本:bash / dash
- ubuntu 上source 、sh 、bash和。/脚本运行区别
- buntu下shell脚本运行异常:bash和…
- buntu下shell脚本运行异常:bash和…
- ubuntu dash shell and bash shelll
- ubuntu下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别详细介绍
- Ubuntu 下运行 Shell 脚本时显示 "declare not found" 的问题
- [Linux]不同方法运行shell脚本的区别
- Ubuntu的shell之bash和dash
- ubuntu学习日记--Lesson6:shell,bash,dash
- Ubuntu dash与bash的区别
- 运行shell脚本,错误:-bash: ./xxx.sh: /bin/bash^M: bad interpreter: No such file or directory
- Ubuntu的shell之bash和dash 分类: arm-linux-Ubuntu 2013-08-20 17:25 664人阅读 评论(0) 收藏