V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xieranmaya
V2EX  ›  程序员

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

  •  
  •   xieranmaya · May 12, 2014 via Android · 7103 views
    This topic created in 4371 days ago, the information mentioned may be changed or developed.
    33 replies    2014-05-14 14:16:31 +08:00
    lsmgeb89
        1
    lsmgeb89  
       May 12, 2014
    记得上次偶尔写个小脚本,为了一个语法,折腾了半天。
    hitsmaxft
        2
    hitsmaxft  
       May 12, 2014
    bash的语法没啥问题, 只是习惯了类c语法的人, 理解它会有点不适应而已而已.

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

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

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