• gaterush@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    The other command could just be printf '' >> file to not overwrite it. Or even simpler >>file and then interrupt

      • 4am@lemm.ee
        link
        fedilink
        arrow-up
        6
        ·
        1 year ago

        .“:>>” is “append null” right? Do you get a file with a single ASCII NUL or is it truly empty?

        • Not really. I believe : is the “true” builtin. So it’s like running a program that exits with zero and writes nothing to stdout. The >> streams the empty stdout into the named file.

        • al177
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          1 year ago

          $ :|wc -c 0 $ touch /tmp/f; :>>/tmp/f; wc -c /tmp/f 0 /tmp/f

        • owsei@programming.dev
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          Yeah!

          it’s basically a noop, I use it as a placeholder when I’m writing a script, since bash doesn’t accept code blocks with no commands