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

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

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

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

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

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