免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7084 | 回复: 15

菜鸟弱弱的问下 为什么bash可以写脚本 还要用python [复制链接]

论坛徽章:
0
发表于 2013-06-03 11:57 |显示全部楼层
如题 感觉bash已经可以写脚本了
真心请各位大神不吝指教
先谢谢各位大神

论坛徽章:
0
发表于 2013-06-03 13:59 |显示全部楼层
你如果经常写bash,你会发现bash写一些小的项目还可以,但是由于bash设计的局限性,已经诸如因为多一个空格少一个空格以及在多引号、少引号以及数组、浮点数处理方面的一些弱点,所以使用python可以解决这些问题。

论坛徽章:
0
发表于 2013-06-03 16:31 |显示全部楼层
回复 2# gulang2004xy


   谢谢  请问下 bash有什么明显的局限性吗 或者说 python在哪个方面领先bash 能举个例子吗  

论坛徽章:
0
发表于 2013-06-03 16:50 |显示全部楼层
这个问题,就像再问:
既然有了自行车可以骑了,为何还需要汽车?

答:
因为汽车,有自行车具体的基本功能之外的,N多种功能和好处。

bash:
1.简单的脚本,只能实现简单的一些功能;
2.无法跨平台
3.等等等

python:
1.实现的功能,可以复杂,极度的复杂。
随便举个例子:
我用python写的博客搬家的脚本:
http://code.google.com/p/blogs-to-wordpress/
而如果要用bash:那么估计只能实现其中1%的功能,而且还无法跨平台。

2.python支持多种平台:linux,mac,windows等等

3.等等等:
无法列举,因为太多方面都没有可比性。
就像:
自行车,除了和汽车,在当做交通工具,一个速度慢,一个速度快,之外的话,还有太多的,
安全性,价格,舒适度,等等等,没法一句话说完。
非要对比,那么可以单独开个帖子,写个系列的帖子了。或者写本书,单独讨论这些。

论坛徽章:
0
发表于 2013-06-03 17:18 |显示全部楼层
回复 4# crifan
谢谢 是我没说清楚
我的意思是在 系统运维方面的区别大吗 有什么必须用python的吗


   

论坛徽章:
2
嗜杀者
日期:2015-11-25 10:44:3015-16赛季CBA联赛之北京
日期:2016-03-20 19:50:17
发表于 2013-06-04 14:00 |显示全部楼层
4楼大神的博客搬家先mark下了,谢谢。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
发表于 2013-06-04 14:24 |显示全部楼层
python 和bash各有特点。用bash能实现的,用python也可以。同样反之亦然。
只是实现的路子不同罢了,所谓条条大路通罗马。

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
发表于 2013-06-04 17:17 |显示全部楼层
本帖最后由 lolizeppelin 于 2013-06-04 17:21 编辑

bash不那么友好,速度慢还是其次的

最麻烦的是做 特殊处理  非常麻烦
给你举个例子——比如说for files in `ls ./`
这样的语句,一般情况下用没问题,遇到给文件名里有空格的就麻烦了
上面例子引申出来,mysql -e""导出的数据里有带空格或者\t的,你要分割的时候就又变得复杂了,这些都是运维里经常遇到的情况。

总之就是bash异常处理非常麻烦复杂,而且很难调试。
等你体会到写稍微复杂点的脚本的时候有种想死想用其他语言来写的心情的时候你就知道为什么需要会bash也要学python了(perl/PHP/java什么的都可以,但是python/perl是最方便的,因为服务器一般都自带,perl比python更早上linux发新版不过perl语法太变态)

python最大的缺点在于服务器上有2.4和2.6+版本区别有些常用的东西需要2.6支持而rh6以下的linux都是带2.4的导致某些处理shell跨机通用性比python好,像虚拟机统一被配置的脚本一般都还是用shell来写的

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
发表于 2013-06-04 17:43 |显示全部楼层
本帖最后由 lolizeppelin 于 2013-06-04 17:43 编辑

http://bbs.chinaunix.net/thread-1858130-5-1.html
上面这个帖子我看过以后直接放弃深入shell,你认真看个十来楼再去看46楼版主的回答。

http://bbs.chinaunix.net/thread-3570248-1-1.html
这个帖子也很有趣

http://bbs.chinaunix.net/thread-4081959-1-1.html
今天又正好看见个....这个也挺有意思

看完上面帖子仔细想想shell的缺陷就知道为什么要一门真正的编程语言了

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
发表于 2013-06-04 21:49 |显示全部楼层
知道为什么要一门真正的编程语言了:wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP