《LINUX与UNIX SHELL编程指南》不错。tosail2010 写了:这是为什么?eexpress 写了:fish csh zsh tcsh ksh dsh psh
谢谢各位的解答,我想多了解一些关于shell的资料。有没有好点的网站或者书。推荐一下。
关于bash和sh
-
- 帖子: 3030
- 注册时间: 2009-10-03 23:31
Re: 关于bash和sh
-
- 帖子: 125
- 注册时间: 2007-10-22 22:40
Re: 关于bash和sh
tosail2010 写了:我用的是Ubuntu10.04
输入命令:echo $SHELL
显示:/bin/bash
如果我执行shell脚本,脚本中无#!/bin/sh。
脚本是在bash,还是在sh中运行呢。
首先要了解,/bin/sh是最早的shell版本,多用于UNIX中。
后来陆续出了其他版本的shell。
到了FSF的GNU计划,他们开发了/bin/bash,兼容/bin/sh。
而/bin/bash在Linux中被设置为默认的shell。
所以,现在的Linux像 redhat ubuntu fedora 等都是用的/bin/bash。
但是鉴于/bin/bash是/bin/sh的加强版和完全兼容/bin/sh,也为了方便UNIX程序员的使用,
和使用习惯,通常在Linux会有一个链接/bin/sh指向/bin/bash。
所以我们在Linux中写脚本时,开头那一行写/bin/sh和/bin/bash效果是一样的。
不过呢,为了通用的脚本,建议开头都写/bin/sh,因为其他的shell基本逗兼容/bin/sh,
这样在移植方面有好处。
-
- 帖子: 125
- 注册时间: 2007-10-22 22:40
Re: 关于bash和sh
tosail2010 写了:这是为什么?eexpress 写了:fish csh zsh tcsh ksh dsh psh
谢谢各位的解答,我想多了解一些关于shell的资料。有没有好点的网站或者书。推荐一下。
你向了解shell,其实也不用怎么了解,你只需要知道有类bourne的shell和类c的shell的shell
而类c的shell优点在交互上,缺点是编程方面不好
而类bourne的shell语言上形式如algol差不多,在编程方面很好
多看看/bin/sh和/bin/bash就可以了
-
- 帖子: 6
- 注册时间: 2011-05-28 12:19
Re: 关于bash和sh
同你楼上的看法,有些事情要验证了再说,不要误导!lilydjwg 写了:我表示您的印象非常不准确。Ubuntu 下,sh 是 dash 的软链接。lexdene 写了:我印象中没有sh这个程序,只有bash这个程序。
而/bin/sh实际上只是一个指向/bin/bash的链接。
您可以看一下,我记不清了。看看它是不是一个链接。代码: 全选
ls -l /bin/sh
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
- AutoXBC
- 帖子: 1744
- 注册时间: 2007-10-23 12:54
Re: 关于bash和sh
前面有些说法似是而非,什么叫最好写成 /bin/sh 还有最好 /bin/bash 什么的,应该说你到底写了一个兼容 sh 的脚本,还是写了一个用到 bash 特性的脚本,sh 是一个更小的子集。如果是 sh 脚本,就应该写 /bin/sh,至于用户用 bash 解释还是用 dash 是没有差别的,而如果是用到 bash 特性的脚本,就必须写 /bin/bash,由脚本作者决定解释器用户无权选择。如果根本分不清写的是 sh 还是 bash,那就别写了,弄懂区别再写。
http://hi.baidu.com/aaronike/blog/item/ ... d97ea.html
http://hi.baidu.com/aaronike/blog/item/ ... d97ea.html
- lexdene
- 帖子: 434
- 注册时间: 2010-02-21 16:19
- 来自: 大连
- 联系:
Re: 关于bash和sh
这个说的对。AutoXBC 写了:前面有些说法似是而非,什么叫最好写成 /bin/sh 还有最好 /bin/bash 什么的,应该说你到底写了一个兼容 sh 的脚本,还是写了一个用到 bash 特性的脚本,sh 是一个更小的子集。如果是 sh 脚本,就应该写 /bin/sh,至于用户用 bash 解释还是用 dash 是没有差别的,而如果是用到 bash 特性的脚本,就必须写 /bin/bash,由脚本作者决定解释器用户无权选择。如果根本分不清写的是 sh 还是 bash,那就别写了,弄懂区别再写。
http://hi.baidu.com/aaronike/blog/item/ ... d97ea.html
大连Linux User Group: http://groups.google.com/group/dalian-lug?hl=zh-CN
-
- 帖子: 14
- 注册时间: 2009-05-12 19:25
Re: 关于bash和sh
哈,谢谢各位回贴,我是个不负责的LZ哈.
- lexdene
- 帖子: 434
- 注册时间: 2010-02-21 16:19
- 来自: 大连
- 联系:
Re: 关于bash和sh
我代表所有人说一句,不客气。solone1020 写了:哈,谢谢各位回贴,我是个不负责的LZ哈.
大连Linux User Group: http://groups.google.com/group/dalian-lug?hl=zh-CN
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系: