当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 13 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Ubuntu 中的 bash 功能不如 Redhat
帖子发表于 : 2007-06-06 12:18 
头像

注册: 2005-07-21 19:13
帖子: 681
地址: Peking, China
送出感谢: 0 次
接收感谢: 0 次
在 Ubuntu 6.10 中,写个脚本
代码:
str=abc
newstr=${str/a/b}

发现居然不支持字符串替换的语法。

看了一下 bash 的版本号,是
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

而 Redhat AS4 中上面的脚本是可以运行的,而且它的 bash 版本号还更低
GNU bash, version 3.00.15(1)-release (i386-redhat-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.

還有 Ubuntu 中的 grep 居然不支持 -P 参数……
真是不爽啊!


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-06-06 12:30 
头像

注册: 2005-06-11 14:03
帖子: 6226
地址: 不明真相的群众
送出感谢: 0 次
接收感谢: 0 次
现在ubuntu默认是dash,而不是bash. 这样会导致很多脚本运行不正常.


_________________
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-06-06 12:33 
头像

注册: 2005-08-15 0:04
帖子: 1880
地址: 南7技校
送出感谢: 0 次
接收感谢: 0 次
代码:
zhan@mylinux:~$ str=abc
zhan@mylinux:~$ newstr=${str/a/b}
zhan@mylinux:~$ echo $newstr
bbc


明显是支持的嘛。 估计楼上的写脚本的时候第一行是 #!/bin/sh , 在 ubuntu 中 /bin/sh 指向的是 dash, 所以功能可能有问题,改成 #!/bin/bash 试试看。

至于 grep 不支持 -P的问题, 刚看了一下 man
代码:
      -P, --perl-regexp
              Interpret PATTERN as a Perl regular expression.


明显是有的。估计也许也是 dash 的原因。


_________________
飞得高,飞得低,学习再学习,多少大秘密!
http://zhan.blog.ubuntu.org.cn


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-06-06 12:59 

注册: 2006-03-10 15:10
帖子: 3182
地址: xi'an China
送出感谢: 0 次
接收感谢: 2
ls 正解


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-06-06 13:17 
头像

注册: 2006-09-02 21:41
帖子: 124
地址: 江苏南京
送出感谢: 0 次
接收感谢: 0 次
学习了


_________________
http://www.iviai.com.cn
C2.6/384M DDR266/Samsung80G+ST160G/MMX44064bit64M/DVD-rw


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-06-06 14:00 
头像

注册: 2005-07-21 19:13
帖子: 681
地址: Peking, China
送出感谢: 0 次
接收感谢: 0 次
第一个问题,我的脚本中写的确实是 #!/bin/bash。
不过我刚才重新测试了一下,现在是可以使用 shell 中的那个语法了。

第二个问题,你运行一下
代码:
grep -P "fsdfas"

就会得到一条消息:
grep: The -P option is not supported


zhan 写道:
代码:
zhan@mylinux:~$ str=abc
zhan@mylinux:~$ newstr=${str/a/b}
zhan@mylinux:~$ echo $newstr
bbc


明显是支持的嘛。 估计楼上的写脚本的时候第一行是 #!/bin/sh , 在 ubuntu 中 /bin/sh 指向的是 dash, 所以功能可能有问题,改成 #!/bin/bash 试试看。

至于 grep 不支持 -P的问题, 刚看了一下 man
代码:
      -P, --perl-regexp
              Interpret PATTERN as a Perl regular expression.


明显是有的。估计也许也是 dash 的原因。


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-06-06 14:03 
头像

注册: 2005-07-21 19:13
帖子: 681
地址: Peking, China
送出感谢: 0 次
接收感谢: 0 次
karron 写道:
现在ubuntu默认是dash,而不是bash. 这样会导致很多脚本运行不正常.


嗯,我发现了这个问题,现在把 /bin/sh 指向了 /bin/bash。


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-06-12 0:30 

注册: 2007-04-17 0:42
帖子: 40
送出感谢: 0 次
接收感谢: 0 次
这种东东没有什么好不好的:如果觉得系统的bash或者其他程序没达到自己的要求,自己下源代码,按照自己的意思编译即可,这些问题与操作系统没有什么关系把。


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-06-12 10:17 
头像

注册: 2005-07-21 19:13
帖子: 681
地址: Peking, China
送出感谢: 0 次
接收感谢: 0 次
lert 写道:
这种东东没有什么好不好的:如果觉得系统的bash或者其他程序没达到自己的要求,自己下源代码,按照自己的意思编译即可,这些问题与操作系统没有什么关系把。


从理论上来说,你的方法是可行的。对于任何操作系统,你的方法都是可用的。


页首
 用户资料  
 
10 楼 
 文章标题 : Re: Ubuntu 中的 bash 功能不如 Redhat
帖子发表于 : 2009-07-15 14:32 
头像

注册: 2007-10-24 20:20
帖子: 1565
地址: 北京、海淀
送出感谢: 0 次
接收感谢: 1
学习拉。最近正在了解redhat和ubuntu的区别


_________________
Dell Vostro 1500, T7300/4GB/WD5000BEVT/nVidia 8400GM, Ubuntu 10.04 x86_64/VMware 7(Win7)
我的博客:http://xieshaohu.wordpress.com/


页首
 用户资料  
 
11 楼 
 文章标题 : Re:
帖子发表于 : 2009-07-16 0:33 

注册: 2008-10-31 22:12
帖子: 6546
系统: 践兔
送出感谢: 18
接收感谢: 25
karron 写道:
现在ubuntu默认是dash,而不是bash. 这样会导致很多脚本运行不正常.

但是
代码:
17/07/2009 00:33:10
tusooa (~/develop/bash)
>> /bin/sh
$ echo $SHELL
/bin/bash
$ exit
17/07/2009 00:33:22
tusooa (~/develop/bash)
>> /bin/dash
$ echo $SHELL
/bin/bash
$ exit
17/07/2009 00:33:40
tusooa (~/develop/bash)
>> /bin/bash
17/07/2009 00:33:52
tusooa (~/develop/bash)
>> exit
exit
17/07/2009 00:33:55
tusooa (~/develop/bash)
>>

不过
代码:
17/07/2009 00:33:55
tusooa (~/develop/bash)
>> ls -l /bin | grep sh
-rwxr-xr-x 1 root root  833592 2009-03-02 22:23 bash
-rwxr-xr-x 1 root root  105592 2008-11-05 16:57 dash
lrwxrwxrwx 1 root root       4 2009-07-12 17:39 rbash -> bash
lrwxrwxrwx 1 root root       4 2009-07-12 17:39 sh -> dash
lrwxrwxrwx 1 root root       4 2009-07-12 17:39 sh.distrib -> bash
17/07/2009 00:35:06
tusooa (~/develop/bash)
>>


_________________
代码:
] ls -ld //


页首
 用户资料  
 
12 楼 
 文章标题 : Re: Ubuntu 中的 bash 功能不如 Redhat
帖子发表于 : 2009-07-17 9:19 
头像

注册: 2007-09-03 18:34
帖子: 273
地址: 羊城通
送出感谢: 0 次
接收感谢: 0 次
现在还流行盗墓吗? :em06


页首
 用户资料  
 
13 楼 
 文章标题 : Re: Ubuntu 中的 bash 功能不如 Redhat
帖子发表于 : 2009-07-20 21:15 
头像

注册: 2005-04-15 5:59
帖子: 308
送出感谢: 0 次
接收感谢: 0 次
挖一下... 希望早日成为摸金校卫... :em06


_________________
AMD Althon64X2 Dual Core Processor 5000+
Jetway Hammar A770
Segate SATA 160G + Segate ATA 80G
Geil DDR2-800 2048 MB
AOC2016SW 1650x1050 with Geforce 9600GT

Windows XP sp3 & ubuntu 10.10


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 13 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译