LinuxSir.cn,穿越时空的Linuxsir!

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

请问各位大牛!

[复制链接]
发表于 2009-3-30 21:02:56 | 显示全部楼层 |阅读模式
#!/bin/sh
#!/bin/bash
这两个路径是不是都是BASH?有何区别的?
发表于 2009-3-30 22:58:11 | 显示全部楼层
据我所知默认情况下只有Linux和MacOSX10.3以后版本的/bin/sh是bash。
/bin/sh的目的是为了在行为方面和历史上各sh版本尽量像,譬如它会开启shell的POSIX兼容模式。
我个人若是写POSIX shell脚本都会用/bin/sh作为shebang而不是/bin/bash/bin/ksh之类。
回复 支持 反对

使用道具 举报

发表于 2009-3-30 23:01:38 | 显示全部楼层
现在的linux用的bash比较多。/bin/sh在大多数的发行版中是bash的符号连接。
但在有些情况下,可以指向其他。
  1. ls -l /bin/sh
复制代码
可以查看,你的电脑里是什么。
回复 支持 反对

使用道具 举报

发表于 2009-3-31 05:30:45 | 显示全部楼层
嗯。debian里面就是默认dash。
以前在debian里面装软件,configure竟然是写了/bin/sh却用bash的echo -e,弄得dash下无法安装,估计是自动认为所有的sh都指向bash了。
回复 支持 反对

使用道具 举报

发表于 2009-4-1 00:17:42 | 显示全部楼层
Debian 里的 /bin/sh 改用 dash 应该是比较近期的事情吧

http://www.linuxsir.cn/bbs/thread336800.html
回复 支持 反对

使用道具 举报

发表于 2009-4-1 07:17:16 | 显示全部楼层
在~/.bashrc加上alias sh='bash'就一样了
回复 支持 反对

使用道具 举报

发表于 2009-4-1 08:14:10 | 显示全部楼层
如果發行版本身以 bash 作為 sh 的連結,那麼用 alias 的意義並不大

另一方面,用 dash 作為系統的 sh 有其好處
Post by Magic_QQQ;1967702
#!/bin/sh
#!/bin/bash
这两个路径是不是都是BASH?有何区别的?

回到樓主的問題,表面上 /bin/sh 跟 /bin/bash 好像很多時都是一樣,因為很多時都是連結的關係,但看深一層,通常 /bin/sh 是系統使用的 shell,供系統運作時使用,而 /bin/bash 通常是用戶標準用的 shell,供用戶平常操作時使用。當然這些都可以被用戶任意切換的了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-2 16:52:26 | 显示全部楼层
Post by d00m3d;1968294
如果發行版本身以 bash 作為 sh 的連結,那麼用 alias 的意義並不大

另一方面,用 dash 作為系統的 sh 有其好處



回到樓主的問題,表面上 /bin/sh 跟 /bin/bash 好像很多時都是一樣,因為很多時都是連結的關係,但看深一層,通常 /bin/sh 是系統使用的 shell,供系統運作時使用,而 /bin/bash 通常是用戶標準用的 shell,供用戶平常操作時使用。當然這些都可以被用戶任意切換的了



谢谢你们。请问,你所说的DASH是什么来的呢?
回复 支持 反对

使用道具 举报

发表于 2009-4-2 18:45:27 | 显示全部楼层
Post by Magic_QQQ;1968981
谢谢你们。请问,你所说的DASH是什么来的呢?


看 5 楼的连结
回复 支持 反对

使用道具 举报

发表于 2009-4-2 21:08:48 | 显示全部楼层
呵呵,dash还是Xu大牛port到Linux的...
回复 支持 反对

使用道具 举报

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

本版积分规则

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