首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

吐槽:bash 的语法那么乱,各位都是怎么忍的?

  •  
  •   xieranmaya · 2014-05-12 19:00:59 +08:00用 Android 发布 · 4234 次点击
    这是一个创建于 1805 天前的主题,其中的信息可能已经有所发展或是发生改变。
    33 回复  |  直到 2014-05-14 14:16:31 +08:00
        1
    lsmgeb89   2014-05-12 19:04:34 +08:00
    记得上次偶尔写个小脚本,为了一个语法,折腾了半天。
        2
    hitsmaxft   2014-05-12 19:06:23 +08:00
    bash的语法没啥问题, 只是习惯了类c语法的人, 理解它会有点不适应而已而已.

    再说, 你觉得哪里乱了.
        3
    PotatoBrother   2014-05-12 19:06:27 +08:00 via iPhone
    所以我们不用bash
        4
    yukirock   2014-05-12 19:11:08 +08:00   ♥ 1
    當然是 Perl 啊
    至少比 bash 容易理解一些……
        5
    xieranmaya   2014-05-12 19:14:38 +08:00
    @hitsmaxft
    太多了啊……那各种可有可无的引号,表达式,有些跟类C的一样,有些又跟类C的相反……,还有数学运算啥的……
        6
    Shieffan   2014-05-12 19:16:09 +08:00 via iPad
    不觉得有什么问题,shell解释器本来就是unix tools与unix习惯的拼凑,它的语法就那么几条,比起一堆语法糖的现代语言简单多了
        7
    hitsmaxft   2014-05-12 19:20:45 +08:00
    @xieranmaya 因为它是一个古老的弱类型语言, 生来就是在处理命令行和字符序列.

    引号是为了正确地转椅, 你在哪一门语言写嵌套参数的字符串, 都会面临这个问题. 至于数学运算, 是因为它没有int这个概念, 需要通过表达式运算取值

    bash 对于 需要大量shell操作的用户友好,. 否则还是用python之类的, 亲和力还是不错的.
        8
    lm902   2014-05-12 19:23:57 +08:00
    用node.js替代之
        9
    ultimate010   2014-05-12 19:26:01 +08:00
    同样觉得bash语法太乱,多次尝试学会使用都放弃了。。。
        10
    skybr   2014-05-12 19:26:04 +08:00
    不perl不幸福。
        11
    skydiver   2014-05-12 19:28:19 +08:00 via Android
    所以bash的英文意思是……自己去查吧
        12
    Zhang   2014-05-12 19:29:30 +08:00
    大家觉得c shell怎么样呢?
        13
    jings   2014-05-12 19:33:21 +08:00 via Android
    zsh大神在此 蝌蚪们有什么想问的吗 手动斜眼
        14
    lnehe   2014-05-12 19:45:46 +08:00
    python+1
        15
    ericls   2014-05-12 19:51:24 +08:00   ♥ 1
    我觉得matlab的语法是最无法理解的。。
        16
    sandtears   2014-05-12 19:56:50 +08:00
    基本上我只写顺序语句,只要涉及到判断或者循环我都是换 Python
        17
    kotokz   2014-05-12 19:59:12 +08:00
    所以我学了perl.
        18
    pfitseng   2014-05-12 20:45:09 +08:00 via Android   ♥ 1
    bash 是为了快速处理问题,如果是有计划的,perl or python
        19
    hhkbp2   2014-05-12 21:19:22 +08:00   ♥ 1
    动辄多线程,所以动辄python
        20
    lazycat   2014-05-13 00:51:36 +08:00 via Android
    @ericls 赞!同感!
        21
    Tink   2014-05-13 00:57:01 +08:00 via iPhone
    @ericls 我觉得matlab还好啊
        22
    ivenvd   2014-05-13 03:00:59 +08:00
    用 Fish 的表示压力不大。
        23
    c86jeff   2014-05-13 04:02:38 +08:00
    无法理解 你说为什么乱 或者说你接触的语言比较少
        24
    bakac   2014-05-13 07:03:05 +08:00
    熟悉的人不觉得乱 不熟悉的人什么语法也觉得乱
        25
    Delbert   2014-05-13 09:40:10 +08:00
    @Tink matlab有语法?好多年不用了......
        26
    andyhu   2014-05-13 16:58:09 +08:00
    @lm902 node.js +1
    越来越喜欢node,强大的神器
        27
    dorentus   2014-05-13 17:38:11 +08:00
    各种不一致,确实很乱。
    所以才有了后来的 perl 啊。
        28
    xiaket   2014-05-13 17:42:09 +08:00
    sh/bash, bash还有若干个版本, 互相之间不是完全兼容, 是挺恶心人的.
        29
    chemzqm   2014-05-13 17:44:41 +08:00
    http://www.shellcheck.net/
    简单来说就是从来不用bash写复杂的逻辑,咱可不是做OPS的
        30
    williamx   2014-05-14 09:15:19 +08:00 via iPhone
    确实挺乱的,不过没法子,习惯了就好。
        31
    Honwhy   2014-05-14 09:27:24 +08:00
    bash语法有时候真的记不住。
        32
    cbsw   2014-05-14 10:13:01 +08:00
    不要试图将 bash 当作一门编程语言去用(尽管它的确是),正确的用法是将其作为命令行的交互界面使用,它本来就是 *nix 的 shell 而已。如果遇到有比较复杂逻辑的,请考虑换用比较正规的语言 perl/python/ruby 等,当然从上面各位推荐来看,还有 nodejs,不过个人没用过
        33
    wangtai   2014-05-14 14:16:31 +08:00
    我很喜欢,写起来很快,经常用来分析文件,如果有性能问题会用python替换。
    管道的性能倒是很大问题
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3244 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 05:01 · PVG 13:01 · LAX 22:01 · JFK 01:01
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1