Bash脚本的优点v.用于Shell-Command-Heavy Utility的Python脚本

前端之家收集整理的这篇文章主要介绍了Bash脚本的优点v.用于Shell-Command-Heavy Utility的Python脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要编写一个脚本来执行以下操作:

>监视排队系统,shell命令可以访问该系统.
>使用内联文本编辑,cp / mv,命令行脚本和已编译的c程序组合从模板创建目录.
>检查错误情况.
>在错误条件下写入文件.

注意:2D数组对我的程序来说有点温和,但我目前正在使用几个1D数组(由于Bash脚本数组的限制).

这些任务似乎都有点“重壳”,因为它很容易用一堆shell命令实现,所以我认为Bash脚本是一种自然的方式.到目前为止,我的结果还不错,但在我开始重构和完成代码之前,我想知道将它移植到Python是否更好.我已经在很多地方读过Python对bash“优越”的看法.我已经完成了一些Python脚本,据我所知,这是因为它有更多的内置库并且支持面向对象的编程.但是,我见过的所有脚本都使用shell命令,例如:
http://magazine.redhat.com/2008/02/07/python-for-bash-scripters-a-well-kept-secret/

实现令人讨厌的语法,比如必须将命令定义为变量,如下所示:

#You could add another bash command here
#HOLDING_SPOT="""fake_command"""

#Determines Home Directory Usage in Gigs
HOMEDIR_USAGE = """
du -sh $HOME | cut -f1
"""

#Determines IP Address
IPADDR = """
/sbin/ifconfig -a | awk '/(cast)/ { print $2 }' | cut -d':' -f2 | head -1
"""

……并且需要包装功能和其他乐趣.

我只是愚蠢还是看起来不那么直观?使用Python有速度优势,它会超过Bash在shell脚本命令方面的简单优势吗?或者bash(没有2D数组,大括号/括号错综复杂)的语法是否有理由跳转到Python?

如果你找不到切换它的理由,可能是因为没有理由.

我开始切换python,因为我的一些脚本需要一些模板化过程,而不是shell脚本.

还有另外一些需要配置文件解析或参数解析的脚本让我学习了更多的python,最后还有另外一些处理trac(用python编码)让我切换到python的脚本.

但是,如果您可以快速而干净地在bash中概述脚本而不需要其他工具,那么保留bash,这是一个很棒的工具.

猜你在找的Bash相关文章