Python 脚本能完全代替 shell 脚本的工作吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个创建于 3271 天前的主题,其中的信息可能已经有所发展或是发生改变。

shell 的不少工作都能由 Python 来代替(个人愚见。。),那么在日常开发中,在 linux 下能完全用 Python 代替 shell 编程吗?请各位大佬来打击我的说法,让菜鸟开阔一下眼界。

25 条回复    2017-04-25 09:46:37 +08:00
Finest
    1
Finest  
   2017 年 4 月 24 日
可以
superPershing
    2
superPershing  
OP
   2017 年 4 月 24 日
@hand515 那是不是说在某种程度上没有学 shell 的必要了?
jtsai
    3
jtsai  
   2017 年 4 月 24 日   1
@superPershing 学 shell 是学 shell 的思想,怎么跟 liunx 打交道。不学 shell 你也不知道怎么用 Python 跟 linux 打交道
holyghost
    4
holyghost  
   2017 年 4 月 24 日   1
@superPershing 当然

以前是 perl 在某种程度上承担了替代 shell 脚本的功能(当然 perl 自己说初衷是为了搞死 awk 和 sed ),现在是 python
BOYPT
    5
BOYPT  
   2017 年 4 月 24 日
(这就是你不学习 shell 的借口嘛!
FunctionOne
    6
FunctionOne  
   2017 年 4 月 24 日
#! /usr/bin/env python

这个……
FunctionOne
    7
FunctionOne  
   2017 年 4 月 24 日
这个谁来解释呢?
SuperMild
    8
SuperMild  
   2017 年 4 月 24 日   1
不仅 Python ,甚至用 Java 都可以,有人这样做了:
https://www.teamten.com/lawrence/writings/java-for-everything.html
bozong
    9
bozong  
   2017 年 4 月 24 日
Finest
    10
Finest  
   2017 年 4 月 24 日
@superPershing

不学 shell ,你在 linux 下的工作效率会下降很多
heiybb
    11
heiybb  
   2017 年 4 月 24 日 via Android
@bozong 这个回复意义何在…
jinghangdayunhe
    12
jinghangdayunhe  
   2017 年 4 月 24 日
@bozong 啥好东西?
imn1
    13
imn1  
   2017 年 4 月 24 日
“完全”是不能的,除非你想降低效率

例如
cat text.txt

ls ../*.txt

python 如何提高效率
tammy
    14
tammy  
   2017 年 4 月 24 日
我想说 python shell 也是 shell 啊,楼主你说的是 posix shell?
bozong
    15
bozong  
   2017 年 4 月 24 日
@heiybb #11
@hand515 #10 Ctrl+V 按快了。 也删不了。
kmyzzy
    16
kmyzzy  
   2017 年 4 月 24 日   1
试试 xonsh ,支持 shell 命令,也支持 python 语法
Marfal
    17
Marfal  
   2017 年 4 月 24 日
@bozong #15 微博图床的弊端:不能删 hhh
lucifer9
    18
lucifer9  
   2017 年 4 月 24 日
绝对可以吧,如果有不行的,请呼叫 os.system
geelaw
    19
geelaw  
   2017 年 4 月 24 日
这俩玩意儿难道不是平凡地互相归约么?互相调用并不困难吧
dacapoday
    20
dacapoday  
   2017 年 4 月 24 日   2
更完善的说是用 ipython 代替 shell ,而且 ipython 中 !开头的语句当做 shell 执行,从而兼顾 shell 便利和 python 的强大。
CQCQCQ
    21
CQCQCQ  
   2017 年 4 月 24 日 via iPhone
集多不压身!我就想问一下大家三个字母的 top 快还是 import os.system xxxxx 快?
fisher335
    22
fisher335  
   2017 年 4 月 24 日 via iPhone
你用 python 这个 netstat 命令嘛!
mingyun
    23
mingyun  
   2017 年 4 月 24 日
crontab 怎么替代
privil
    24
privil  
   2017 年 4 月 25 日 via iPhone
让 shell 的归 shell , python 的归 python 。这样或许是极好的
mN71eOOprFyMsnPx
    25
mN71eOOprFyMsnPx  
   2017 年 4 月 25 日   1
Python 完全代替 Shell 脚本是没问题的。

但是, Python 不能代替日常使用的 Shell 命令。

这点要搞清楚。一定要记住,别用 Shell 命令写较长的脚本就是。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     958 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 25ms UTC 19:25 PVG 03:25 LAX 12:25 JFK 15:25
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86