1. 为什么 python没有取代 Bash 成为系统 Shell
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不需要了。
2. shell好难学,能用python替代shell吗
shell和python都是脚本,shell学不好,你学python也会吃力的,它俩虽然没有关系,但是同时表现 你的学习能力。
python有自己的优势,一般来说组织linux内部的命令都是使用shell的。
3. python和shell有什么区别
1、Python不需要记忆太多的命令,语法简单,有C基础的人学起来非常容易上手,易于使用;而shell要学的命令有很多,但常用的命令不是很多。
2、Python可移植性好,它的标准是统一的,不会出现因为平台的不同运行结果不同,但shell的命令在各个平台上有些不一样。
3、Python更加强大,shell是一种命令语言,同时也可以看成是一个命令解释器,用于接收诸如awk、sed的命令调用等完成相关的功能。而Python则是一种编程语言,Python提供给程序员更大的自由度和灵活性,以完成shell所不能完成或者难于完成的编码任务,如实现面向对象的模块化设计、操作服务器数据库等。
4、Python支持面向对象、支持可扩展性和可嵌入性,同时提供了功能丰富的库。
5、性能方面,很明显地,Python的执行效率要高于shell,有一个很充分的理由就是shell本身的各种进程间IPC通信要造成相当大的开销;而Python底层是C语言实现的,其性能可以接近于C,但具体相同功能的Python代码量却要比C短很多倍,因此Python的性能高于shell。
4. python 可以替代shell吗
完全可以,shell就是各种linux命令+上一些shell语法的组合。
有两种方法来使用python替代shell。
直接使用python的包来完成linux命令的工作
使用python调用shell命令,比如:
importos
os.system('ls')
如果解决了您的问题请采纳!
如果未解决请继续追问!
5. 如何使用shell或python进行变量替换
echo $test
这是PHP吧?你确定要用python处理?
思路:
读取a文件内容 遍历每行内容
以单引号分割字符串 得到设置的值
按照b文件格式拼接出c文件的内容
最后生成或覆盖c文件
6. python编写实现类似shell的自动补全功能
innodb_flush_log_at_trx_commit = 1 #每次commit 日志缓存中的数据刷到磁盘中
innodb_log_buffer_size = 8M #事物日志缓存
innodb_log_file_size = 500M #事物日志大小
7. Python是不是类似于shell脚本的语言
是。python还支持面向对象的特性,python可以利用丰富强大的第三方库来迅速开发你想要的功能。
8. 为什么会python还需要shell,shell编程的好处
日常工作,很多工作都是很琐碎 很细节的,你想不到你会遇到什么具体的小任务。
这时,你总不能打开vim 写个python脚本。
很可能还没写完#! ,shell 可能已经搞定了任务了。
所以会shell,熟练掌握各种命令,会sed awk,给日常工作带来很大的效率提升。
相信每一个Linux下的讨饭吃的程序员都深有体会。
琐碎任务一次性的任务交给shell; 注定要扩展,代码量不小,要维护的任务交给python.
需要效率的工作交给C。从来就不冲突。
9. 有没有用 go 或者 python 代替 shell 脚本的
有。bash太反人类了,各种蛋疼,写脚本我还得看网络。我现在干活都用Python,不过有时候还得用shell毕竟他下面有些工具还是很好用的。
毕竟同为胶水语言。Python能干很多bash不能干的事情。当然效率方面,bash上某些用c写的工具可能比Python要高,比如awk,sed(这些应该不是bash的一部分,Python也能调用,不过有调用的时间,你都够把结果跑出来了。)等,你自己用Python实现,会慢的一比,但是awk就很爽。
go的话,毕竟写的太慢烦了。不过写完之后把所有系统类型的都编译出来也是不错的选择。我现在一部分的工具就是用go写的。windows,linux,通用,非常不错。
不过还是像1楼说的那样,不以应用场景谈语言的都是耍流氓。
如果说,你简单的一个ping,你会用Python来实现?
你说是吧。所以,这三者,不存在谁替代谁,你觉得那个用着更舒服就用那个。这才是人森苦短,我用Python的精髓。
10. shell脚本和python脚本哪个强大
这两个没有可比性。
shell脚本只能和python的自动化相关做个比较,它的针对性强一些。