• Synthead@lemmy.world
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    3 years 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?

    • RazorsLedge@lemmy.world
      link
      fedilink
      arrow-up
      22
      ·
      edit-2
      3 years 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
        3
        ·
        3 years 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
          ·
          3 years 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.

    • SpaceNoodle@lemmy.world
      link
      fedilink
      arrow-up
      21
      ·
      edit-2
      3 years 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.