LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1676|回复: 14

Ubuntu 的 sh

[复制链接]
发表于 2009-12-9 16:23:48 | 显示全部楼层 |阅读模式
寫Makefile的時候無意中發現的問題。在Gentoo下一切正常、但搬到Ubuntu下發現Makefile裡的顏色code都不見了。

小測試:
在Gentoo下以下指令:
  1. $ sh -c "echo -e '\e[32;1mgreen\e[0m'"
  2. [color="Lime"]green[/color]
复制代码

正常

在Ubuntu下:

  1. $ sh -c "/bin/echo -e '\e[32;1mGreen\e[0m'"
  2. \e[32;1mGreen\e[0m
  3. $ sh -c "echo -e '\e[32;1mGreen\e[0m'"
  4. -e \e[32;1mGreen\e[0m
复制代码


但是
  1. $ which echo
  2. /bin/echo
复制代码

/bin/echo 和 echo 為甚麼結果不一樣?

然後為甚麼Ubuntu的sh對shell escape没反應?
发表于 2009-12-9 17:01:31 | 显示全部楼层
ubuntu 的 sh 跟 bash 不同, sh 只遵从标准 POSIX 的 shell 指令。扩展指令必须明确启动 bash。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-9 18:08:39 | 显示全部楼层
我比較的是Ubuntu的sh和Gentoo的sh。没有用bash。
回复 支持 反对

使用道具 举报

发表于 2009-12-9 19:53:06 | 显示全部楼层
Post by mathfeel;2054177
我比較的是Ubuntu的sh和Gentoo的sh。没有用bash。
估计是 dash 跟 bash 之别

先看看 ls -l /bin/sh 的连结吧
回复 支持 反对

使用道具 举报

发表于 2009-12-9 20:12:19 | 显示全部楼层
gentoo的sh就是bash....
回复 支持 反对

使用道具 举报

发表于 2009-12-10 09:10:35 | 显示全部楼层
Post by mathfeel;2054177
我比較的是Ubuntu的sh和Gentoo的sh。没有用bash。


gentoo 的 sh 就是 bash。而 bash 中包含很多扩展功能。

如果你写什么脚本,在 ubuntu 的 sh 中运行不过。你应当反省你是否使用了标准 POSIX sh 不支持的功能,如果你真的需要使用标准 sh 不支持的功能,就不能把你的脚本使用标准 sh 执行,而只能使用 bash。
回复 支持 反对

使用道具 举报

发表于 2009-12-10 12:59:14 | 显示全部楼层
哪个 Linux 版本的 /bin/sh 不是指向 /bin/bash ?
哪个 Linux 版本的 /bin/sh 和 /bin/bash 是相同的?
哪个 Linux 版本的 /usr/bin/view 不是指向 /usr/bin/vi ?
哪个 Linux 版本的 /usr/bin/view 和 /usr/bin/vi 是相同的?
回复 支持 反对

使用道具 举报

发表于 2009-12-12 10:32:32 | 显示全部楼层
Post by ch_fb;2054423
哪个 Linux 版本的 /bin/sh 不是指向 /bin/bash ?
据我所知 Ubuntu 默认 sh 采用 dash,而 Debian 是有选择性的

http://www.linuxsir.cn/bbs/thread336800.html
Post by ch_fb;2054423
哪个 Linux 版本的 /bin/sh 和 /bin/bash 是相同的?
基本上现在各大发行版的 sh 仍然是 bash
Post by ch_fb;2054423
哪个 Linux 版本的 /usr/bin/view 不是指向 /usr/bin/vi ?
哪个 Linux 版本的 /usr/bin/view 和 /usr/bin/vi 是相同的?

view?指 vim?

反过来吧,应该是 vi 指向 vim
回复 支持 反对

使用道具 举报

发表于 2009-12-12 17:40:52 | 显示全部楼层
楼上没懂我的意思,我的意思是说,虽然用的是同一个执行文件,但效果会不一样,它们的工作模式不同。不能看着 /bin/sh --> /bin/bash 就说两个一样,或许这个体会不是很强。但 view 和 vi 以及 vimdiff 就明显能体会到了。
回复 支持 反对

使用道具 举报

发表于 2009-12-13 07:01:06 | 显示全部楼层
越看越不懂了。。。:yun:
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表