• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xieranmaya
V2EX  ›  程序员

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

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

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

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

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