To understand Unix, you must understand why a program that does nothing and fails at it is a required system utility.
Why do I have this? It's supposed to exit with a status code indicating failure according to the man-page, but it just runs and give no error codes or failure codes. With the --version flag it is supposed to "output version information and exit", but it outputs nothing it just runs with no output. I don't understand this. Why have a core system utility that fail at what the man page says it will?
I know the unix philosophy "Do one thing and do it well" and the job of this utility is to indicate faliure, and it makes sense that it fails doing what the man page says it will do, but what is the point? Is it some inside joke? a nerdy easter egg for people who know enough about unix to "get it"? I must be stupid, because I don't understand
It works exactly as it's supposed to. You do realise that your terminal probably isn't set up by default to alert you of status codes indicating failure?
Your shell comes with a lot of built-in shit for handling batch scripts.
You have to understand that every command in bash is literally a program.
When you use if else statements in a shell script, you're literally calling a program called if, else, fi, etc.
This is why bash scripting is so slow and should never be used for anything more than a quick one-liner, you're spawning a process with every command you use.
Bash is perfect, quick and easy for simple jobs not needing performance.
Worrying about a few Kb processes spawning for a few seconds would be a topic worth discussing when in 1994
oh yeah, that's why I tried bruteforcing md5sums using md5sum piped into sed
the program never finished
meanwhile, my C version finished in 8 seconds
i was looking for the first random seed value that produces a md5 hash that starts with at least 6 leading zeros.