• RazorsLedge@lemmy.world
    link
    fedilink
    arrow-up
    24
    ·
    edit-2
    1 year ago
    foo=ding
    foobar=dong
    
    echo \$foobar
    
    

    Brackets make it explicit what you’re trying to do. Do you want “dingbar” or do you want “dong”? I forget what the actual behavior is if you don’t use brackets here, because I always use brackets for this reason now

    • subtext@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      I believe the actual behavior here would be printing “dong” as the shell interpreter is greedy in its evaluation of variables.

      • vrighter@discuss.tchncs.de
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        the actual behavior here is to echo the literal string “$foobar”, because the $ sign is escaped. so no variable expansion will take place at all.

          • rtxn@lemmy.worldM
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            You should use markdown’s inline code (single `backtick`) and

            block code
            (triple backtick)
            

            tags. They are consistent across most markdown renderers (except Reddit’s, which uses four-space indentations (like, who the fuck thought that was a good idea?))