ubuntu中/bin/bash与/bin/sh,区别较大吗?
-
- 帖子: 5
- 注册时间: 2009-08-11 13:19
ubuntu中/bin/bash与/bin/sh,区别较大吗?
使用/bin/sh不能成功执行的程序,用/bin/bash就可以了
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: ubuntu中/bin/bash与/bin/sh,区别较大吗?
是有区别的
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
- 帖子: 5
- 注册时间: 2009-08-11 13:19
Re: ubuntu中/bin/bash与/bin/sh,区别较大吗?
其他系统也一样吗?BigSnake.NET 写了:是有区别的
比如fedora debian等等?
谢谢
得查查两者的区别。。。。
-
- 帖子: 5
- 注册时间: 2009-08-11 13:19
Re: ubuntu中/bin/bash与/bin/sh,区别较大吗?
发现ubuntu的 /bin/sh是连接到/bin/dash的 晕死
- 昊昊昊
- 帖子: 182
- 注册时间: 2011-08-22 21:22
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
- ljj_jjl2008
- 论坛版主
- 帖子: 14256
- 注册时间: 2007-09-16 8:29
Re: ubuntu中/bin/bash与/bin/sh,区别较大吗?
非常大,我的一个shell,就是忘了写#!/bin/bash,结果运行总是报错,写上就没事了。
还有一此,一个shell调用另一个shell,出错,单独运行,则正确,后来发现原因就是主shell写成了#!/bin/sh了,主shell的这一句会影响他调用的shell。
还有一此,一个shell调用另一个shell,出错,单独运行,则正确,后来发现原因就是主shell写成了#!/bin/sh了,主shell的这一句会影响他调用的shell。
闻到死太贵, 麦克价更高。 有了笨笨兔, 二者皆可抛。
+ 我的六轮折腾
+ 折腾6轮的结果(对40余种WM的测试和分析,多种DE和WM并存的方案)
+ 折腾的中间成果:可以独立运行的一个Wharf(图标化的启动菜单)
+ 强烈推荐----折腾的终极成果:一个自己开发的DE环境
+ 签名空闲链接位置招租
+ 我的六轮折腾
+ 折腾6轮的结果(对40余种WM的测试和分析,多种DE和WM并存的方案)
+ 折腾的中间成果:可以独立运行的一个Wharf(图标化的启动菜单)
+ 强烈推荐----折腾的终极成果:一个自己开发的DE环境
+ 签名空闲链接位置招租
- naturalaw
- 帖子: 1360
- 注册时间: 2011-09-06 22:04
-
- 论坛版主
- 帖子: 5371
- 注册时间: 2007-01-14 16:23
Re: ubuntu中/bin/bash与/bin/sh,区别较大吗?
以现在的情况来看,许多种shell和脚本语言都尽力使自己符合 POSIX 1003.2 标准. 用
--posix 选项调用Bash或在脚本开头插入 set -o posix 就能使Bash能以很接近这个标准的方
式运行. 在脚本开头用
1 #!/bin/sh
比用
1 #!/bin/bash
会更好.注意在Linux和一些UNIX风格的系统里/bin/sh是/bin/bash的一个链接(link), 并且
如果脚本以/bin/sh调用时会禁用Bash的扩展功能.
大多数的Bash脚本能不作修改就能运行在 ksh下, 反之亦然, 因为 Chet Ramey 辛勤地把 ksh
的属性移植到了最新的Bash版本
在商业的 UNIX 机器上, 使用了GNU扩展属性的标准命令的脚本可能不会工作. 这个问题在最
近几年已经有所改观了, 因为GNU软件包完美地代替了在这些"大块头的"UNIX运行的相应工具..
如果是/bin/sh,那么就是默认shell
(在Linux系统中默认是Bash).[3]使用#!/bin/sh,在大多数商业发行的UNIX上,默认是Bourne
shell,这将让你的脚本可以正常的运行在非Linux机器上,虽然这将会牺牲Bash一些独特的特征.
脚本将与POSIX[4] 的sh标准相一致.
带颜色的是引用的
--posix 选项调用Bash或在脚本开头插入 set -o posix 就能使Bash能以很接近这个标准的方
式运行. 在脚本开头用
1 #!/bin/sh
比用
1 #!/bin/bash
会更好.注意在Linux和一些UNIX风格的系统里/bin/sh是/bin/bash的一个链接(link), 并且
如果脚本以/bin/sh调用时会禁用Bash的扩展功能.
大多数的Bash脚本能不作修改就能运行在 ksh下, 反之亦然, 因为 Chet Ramey 辛勤地把 ksh
的属性移植到了最新的Bash版本
在商业的 UNIX 机器上, 使用了GNU扩展属性的标准命令的脚本可能不会工作. 这个问题在最
近几年已经有所改观了, 因为GNU软件包完美地代替了在这些"大块头的"UNIX运行的相应工具..
如果是/bin/sh,那么就是默认shell
(在Linux系统中默认是Bash).[3]使用#!/bin/sh,在大多数商业发行的UNIX上,默认是Bourne
shell,这将让你的脚本可以正常的运行在非Linux机器上,虽然这将会牺牲Bash一些独特的特征.
脚本将与POSIX[4] 的sh标准相一致.
带颜色的是引用的
#include <stdio.h>
void main()
{
double world;
unsigned letter;
short stay;
long memories;
printf("I miss you.\n");
}
void main()
{
double world;
unsigned letter;
short stay;
long memories;
printf("I miss you.\n");
}
- ChenFengyuan
- 帖子: 770
- 注册时间: 2008-03-23 0:39
Re: ubuntu中/bin/bash与/bin/sh,区别较大吗?
看ls -l /bin/sh的输出,你就知道了