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

Jas*_*ick 6 python bash shell performance refactoring

我需要编写一个脚本来执行以下操作:

  1. 监视排队系统,shell命令可以访问该系统.
  2. 创建使用嵌入式文本编辑,CP/MV,命令行脚本和编译的C++程序的混合从模板目录.
  3. 检查错误情况.
  4. 在错误条件下写入文件.

注:二维数组将是我的程序婉转有用的,但我目前正在与几个一维数组(由于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
"""
Run Code Online (Sandbox Code Playgroud)

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

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

the*_*ist 7

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

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

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

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