我们是否应该放弃shell脚本(bash)并尽可能地使用Python

我写的Python越多,我越讨厌shellbash)脚本

例如

if ["foo" = "foo"]; then echo "expression evaluated as true" fi 

猜猜是什么错误? 在Python之后,我需要一个空间 ,在Python中这是很难debugging和无意义的,这很简单

 if "foo" == "foo": print "expression evaluated as true" 

由于Python在大多数系统中都是可用的,你认为放弃shell脚本获得新function并移植到Python是一个很好的机会吗?

对于那些你还在写新的shell脚本,原因是什么?

我仍然在bash中编写非常复杂的脚本。 原因? 主要是因为我已经习惯了,所有的系统上都有bash(只要确保你没有执行#!/ bin / sh,因为你可能会在某些系统上运行)。

另一个原因是与系统命令紧密集成。

我想开始习惯perl或python的一个很好的理由是因为bash没有例外。 如果有一个错误你忘记了,它会继续运行脚本。 甚至执行“command || exit”也不起作用,因为它在pipe道中不起作用。

简单。 1) subprocess很烦连锁。 2) for f in * ; do foo "$f" ; doneinputfor f in * ; do foo "$f" ; done更容易for f in * ; do foo "$f" ; done for f in * ; do foo "$f" ; done for f in * ; do foo "$f" ; done一次性,而不是写一个Python脚本来做同样的事情。

我个人使用shell脚本和Perl脚本。 当我主要需要处理系统命令时,我发现编写一个shell脚本更容易。

在其他情况下,当我需要使用一些在shell中找不到等价物的库或不知道可以轻松完成的命令时,我切换到Perl。 当我需要连接到数据库时就是这种情况。 我使用Perl DBI模块。 我正在谈论Perl,但是在谈论Python时也适用同样的想法。

掌握两者是一个好主意。 有时候,你需要这个,而在其他情况下,你需要另一个。