
1 Karblue 2016-09-27 17:05:52 +08:00 有时候几行 shell 可以做的事情。你偏偏得装个环境编译一下。 |
2 fuxiaohei 2016-09-27 17:10:44 +08:00 python 一般系统都带有,直接用吧 |
3 Tink PRO 代替是指? 要是自动转换的话感觉不如用 python 再写一遍 |
4 subpo 2016-09-27 17:14:39 +08:00 我都用 node 或者 ruby, 会啥用啥呗 |
5 BOYPT 2016-09-27 17:15:37 +08:00 python 里面各种写 os.system("xxx") |
7 gouchaoer 2016-09-27 19:03:31 +0:00 via Android php 可以 exec system shell_exec passthrough pcntl_exec pcntl_exec escapeshellcmd popen 执行 shell , php 又赢了 |
8 mxi1 2016-09-27 19:06:50 +08:00 via iPhone 好像有一个 python shell ,叫 xonsh ? |
9 rrfeng 2016-09-27 19:07:35 +08:00 三种都用。 shell 写经常需要改,不太复杂的。简单省事。比如 cp mv rm 日志 之类的。 python 写稍微复杂一点,需要比较复杂的数据结构的, shell 很难处理的。比如涉及到 json 。 go 写更复杂的,一般用 python 需要额外安装第三方库,或者对并发有要求的。但是一般会写的通用一点,而不是单一功能。扔到服务器上再用 shell 传参调用。 |
11 lairdnote 2016-09-27 19:23:14 +08:00 python 还行点。。。但是 golang 比较麻烦的是 bin 文件太大。。感觉还是做项目做比较好 |
12 Ixizi 2016-09-27 19:23:58 +08:00 简单执行任务用 shell 涉及到数据处理 python 但是通常是 python shell 互相调。。。 |
13 ethego 2016-09-27 19:28:23 +08:00 https://github.com/elves/elvish 混合了 shell 和 go 的语法,非 POSIX |
14 wizardforcel 2016-09-27 19:31:36 +08:00 直接在终端输入的话我用 shell ,但是写到文件里必然用 python 。 |
16 PyPog 2016-09-27 20:25:07 +08:00 via Android 一般是啥好实现用啥,管他 Python 还是 Shell |
17 adbaiducom 2016-09-27 20:38:44 +08:00 好几种语言混在一起用,项目人一多特别明显 |
18 cxbig 2016-09-27 20:53:29 +08:00 什么顺手用什么,语言不重要。。。 |
19 KiriGiri 2016-09-27 21:10:43 +08:00 @mxi1 Linux 上的 问题基本不大,以前烦人的问题在新版里基本都解决了, shell 语法和 python 语法也融合得蛮好。 扩展语法需要一点时间学习和适应,特别是 python 模式和 subprocess 模式之间的转换,好在官网的教程还比较详细,不过有些细节的东西还需要自己琢磨。 还有如果需要补全功能的话要安装 prompt-toolkit ,高亮要 pygments 。 |
20 SuperMild 2016-09-27 21:46:19 +08:00 via iPad Java for Everything http://www.teamten.com/lawrence/writings/java-for-everything.html |
21 loading 2016-09-27 21:57:12 +08:00 via Android 我目前担忧的是我几台内核还是 2.4 的能不能跑 golang... |
22 scnace 2016-09-27 22:31:34 +08:00 via Android 自从用了 CLI 总喜欢用 go 撸一些 Terminal 小工具。 跨平台真是太好了 机油也想用的话 直接编译一份二进制文件给他就好了 |
23 Karsa 2016-09-27 23:15:03 +08:00 via iPhone 有啊有啊 |
24 LazyZhu 2016-09-28 02:22:35 +08:00 @scnace 同感, golang 做跨平台太简单了,基本依赖库都支持的,就是二进制太大了, 1.7 改进了很多,但相对 C/C++仍然很巨大,特别对于空间较敏感的嵌入开发。 |
25 scnace 2016-09-28 02:25:33 +08:00 via Android @LazyZhu 还有 golang 做嵌入式开发的吗? 话说我的树莓派已经吃灰好久了 233 (cgo 估计接下来的版本支持还会越来越好~ |
26 sherlocktheplant 2016-09-28 02:28:25 +08:00 python 写起来会简单点 学习成本也没那么高 而且有很多现成的库 基本常见 shell 命令做得事情 python 都能找到对应的库 |
27 jiazhoulvke 2016-09-28 04:21:19 +08:00 |
28 sinxccc 2016-09-28 05:08:37 +08:00 这种事情其实还是 Perl 最适合,可惜现在愿意学的人少了… |
29 xiaket 2016-09-28 07:06:33 +08:00 @sinxccc 可读性差所以不适合吧。很常见的场景是需要改下之前的脚本加个小功能,然后读旧脚本 perl 需要的时间是 python 的两三倍吧? |
30 hanxiV2EX 2016-09-28 08:11:34 +08:00 via iPhone Shell 能解决的尽量会用 Shell 。强大的管道绝对。复杂点的用 Python 。 |
31 argsno 2016-09-28 08:11:46 +08:00 via Android 在一些不复杂的情况下,用 shell 会合适的多。 |
32 dsg001 2016-09-28 08:20:09 +08:00 简单的命令用 shell , 复杂的 py 搞定,至于简单与否看对 shell 的掌握程度 |
33 anyforever 2016-09-28 09:00:19 +08:00 @PyPog +1 实用为主 |
34 kideny 2016-09-28 09:34:16 +08:00 感觉正则学好了,用啥都行吧。。。 O(∩_∩)O |
35 yanzixuan 2016-09-28 11:01:09 +08:00 很早就有过一本书,讲用 Python 做系统管理的。 你练熟了就可以直接替代 shell 了。。。 |
36 winkidney 2016-09-28 11:01:26 +08:00 |
37 araraloren 2016-09-28 11:03:36 +08:00 ~~简单的事情还是 shell 方便一个两个命令就 OK 了 复杂一点就要求助脚本了,这东西都是互相结合使用。。 |
38 wweir 2016-09-28 12:57:37 +08:00 目前在用 go 维护一个运维调度平台。 平时用的啥的还是 bash 脚本吧 PS :是 bash 不是 shell |
39 fuxpro 2016-09-28 23:26:31 +08:00 我不是出来唱反讽的, 但是说实话, 如果是运维功能的东西, 我推荐还是用系统默认的 Shell , 是本真的也是最稳定的。做得好了也会是最直接和高效的 |
41 kideny 2016-09-29 10:46:54 +08:00 shell debug 困难,不是很现代的语言。 只能用来写一些简单的东西了。。。 |
45 sutra 2016-09-30 17:17:20 +08:00 说到这个环境的问题,我宁可用古老的 awk 来写。 |
46 kotokz 2016-10-09 13:11:20 +08:00 awk or perl |
49 ethego 2016-11-10 15:12:12 +08:00 @xiaq 那我直接在这里问吧。。在递归下降的解释器中如何实现 call/cc ?因为我不是 cs 出身,所以这个问题我想了蛮久的。。因为我自己也在做一些简单的解释器。好像必须要将解释器完全地转写成尾递归的形式才能做到?不然没办法 stop the world. |
50 ethego 2016-11-10 15:14:26 +08:00 @xiaq 在一般的递归下降的解释器中,函数总是带有状态的,所以在遇到 call/cc 时候没法保存整个解释器的上下文,需要转写成尾递归的形式将状态一层层传递进来才行。不知道我的理解有没有问题。。 |