• SpaceNoodle@lemmy.world
    link
    fedilink
    arrow-up
    86
    ·
    edit-2
    1 year ago

    find “${HOME}/docs/”

    You want the full path in quotes so that paths with spaces are handled properly. Brackets are good practice when concatenating strings.

    • Synthead@lemmy.world
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      1 year ago

      If the strings don’t contain characters that help define a variable, like an underscore, how is it better practice to use curlies? It’s it just for consistency? Have you had any style guides or linters critique the use of variables without them?

      • SpaceNoodle@lemmy.world
        link
        fedilink
        arrow-up
        23
        ·
        edit-2
        1 year ago

        More than anything, I find that it’s a good habit to maintain in order to avoid simple mistakes. It also makes variables easier to spot in code and maintains consistency.

      • RazorsLedge@lemmy.world
        link
        fedilink
        arrow-up
        22
        ·
        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?))

    • ArtificialLink@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      1 year ago

      This shit fucked me up so much when i was learning linux stuff. Especially cause a lot of my file paths had spaces. This is the way.

    • FuglyDuck@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      1 year ago

      “Concatenating”….

      …. That sounds either exceptionally painful or extremely fun.

      Quite possibly both…