this post was submitted on 17 Mar 2024
1140 points (97.6% liked)

Programmer Humor

19623 readers
76 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] 48954246 20 points 8 months ago* (last edited 8 months ago) (1 children)

Feels dangerous to run. What happens if the file already exists and has something important in it?

touch -a is probably better

[–] gaterush 9 points 8 months ago (1 children)

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

[–] [email protected] 10 points 8 months ago (2 children)

or :>>file then you don't need to interrupt

[–] [email protected] 6 points 8 months ago (2 children)

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

[–] [email protected] 14 points 8 months ago

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.

[–] [email protected] 4 points 8 months ago* (last edited 8 months ago)

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

[–] gaterush 3 points 8 months ago (1 children)

that's awesome, did not know about that handy operator!

[–] [email protected] 3 points 8 months 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