shell 应该属于宏语言,顾名思义是系统的壳,方便与系统交互的在以下情况下,不使用shell,因为shell对此无能为力;如:跨平台,较复杂数学操作(如浮点运算,精确运算等),图形化界面 GUI,I/O 或socket 接口,多维数组,对效率要求很高等。
-
shell:简单,开发迅速,专注系统(比如:Linux)管理领域。
-
python:通用脚本语言,功能强大,跨平台(比如:Windows和Linux),严谨;
-
Python可以调用图形库,可以直接做网络应用,甚至直接嵌入其它语言,跨平台;
-
shell就是和系统结合得比较紧密,其内部数据处理方面,侧重文本(或者说字符串,或字符流)处理,而对运算和其他基本数据结构的原生较弱。