linux的基本组件,哪个都是千锤百炼。还很少有被取代过的。这些基本组件就包括各种shell。

python开始是用于运维。后来发展成通用语言。python可以解决shell之类的工具编程难,同时可读性差的问题。当然里面的设计思想还有很多,不列举。但是python开始的目标就不是取代shell

但是ruby有这个想法。ruby有些工具明显的想代替应用程序的控制台。真是很有理想的语言。

作为一个编程语言,而不是一个命令行工具。python不具备shell这样的强的交互,通用性,小巧 ,权限管理,批处理,复杂的管道,安全,高效等等优点。

不过shell支持的脚本很多已被python代替。所以在linux的系统初始化,运维管理中大量可以看到python脚本。 对于一个python老手来说,用shell脚本编程不如直接写个python脚本。完全 没有必要学习两套编程方式。

至我python用了10几年了,一直觉着写一个超过50行的shell脚本没有必要。有python足够了。偶尔写个十几行的shell比较常用。再多就要用python了。

在有些特殊的操作系统里,GUI被重新设计过,其中某个操作系统甚至没有什么命令行,几乎完全 图形化。 这些操作系统里没有shell的地位。它被取代了。

同样,如果我们用python写一个操作系统,显然shell不需要了
http://zhidao.baidu.com/link?url=UMAcc4iqq3QSsGc41Ga80gAebMgH6p_PrKjpxTrzUuALRto6sKJx4_6pohCxt0PSyCoytPKcZD2cERIXXmIToqnKdIIs0i1-CZA8Sw7qe7W