I know that there are use cases for [ ] over [[ ]]. There have to be. Why in god’s name would [ ] exist if there wasn’t a reason to use it over [[ ]]? I’m obviously the one in the wrong by only ever using [[ ]], because [ ] would definitely be better in some type of situations that I’m just not seeing clearly. Right???
Python has its flaws for sure (I’m getting pretty fed up with the lack of required type notation, myself), but my point here is that bash is even worse:
Bash is so bad. I literally use it every day and have written many Bash scripts, yet I’m constantly having to search for how to do things in it because syntax is so bizarre and difficult to remember. Need to do a for loop over lines in a file? You can bet I’m googling the syntax for it. I have a general idea for what it looks like and know what to search for, but no way in hell can I write it correctly in the first few tries.
String manipulation is the absolute worst. Have fun getting to learn the unreadable syntax of most sed and awk programs (the only thing most people have memorized is find and replace). Stuff like “split a string of comma separated ints and add them up” are way harder in Bash than in Python, despite the fact I often need to do stuff like that in Bash. Well, in the terminal anyway. Sometimes I’ll just use Python, but Python’s weakness is executing programs and getting their output, which is nowhere near as convenient as it is in Bash.
Side note, isn’t it weird that for a language where flags like --foo bar are so commonly used, there’s no built in or standard tools for accessing flags?
Or bash.
So incredibly annoying too read.
deleted by creator
I know that there are use cases for [ ] over [[ ]]. There have to be. Why in god’s name would [ ] exist if there wasn’t a reason to use it over [[ ]]? I’m obviously the one in the wrong by only ever using [[ ]], because [ ] would definitely be better in some type of situations that I’m just not seeing clearly. Right???
I believe the reason is that bash is backwards compatible with sh and sh only has [ ], not [[ ]]
[
is a binary (sometimes a symlink) in/usr/bin
. It’s/usr/bin/[
🤓Solution: fuck backwards compatibility and use fish
Fish might be good for interactivity, but in terms of scripting, just go straight to python. It’s not worth it.
Fish is starting to get more POSIX compliant as of late, the error redirect is no longer
^ /dev/null
but2>/dev/null
[[ is not a POSIX shell feature.
So many footguns. Use python in place of bash.
tbh i would rather use assembly than python.
Absolutely wild take, the two are used in completely different contexts
python if you want to f*ck every developer that comes after you and the other if want to make a small script yes. Still would choose bash tbh.
Assembly is torture because it has too much math in it
But its less math than python. You dont have to role the dice if the error message is logical or not
Python has its flaws for sure (I’m getting pretty fed up with the lack of required type notation, myself), but my point here is that bash is even worse:
Bash is still better than python - Change my mind
Why tho
Because f*ck python lol. Its just bad
Throw me a bone here. Is there like an existing reasons it sucks or do you just hate snakes?
Wouldn’t it make more sense to code in c++ or something and compile to assembly?
How much more efficient than a compiler are one really?
Yeah even that i would do, rather to do anything in python ;D
Perl calls to you. Admire its beauty.
deleted by creator
Perl’s unreasonable effectiveness for creating write-only code was part of the joke.
Bash is so bad. I literally use it every day and have written many Bash scripts, yet I’m constantly having to search for how to do things in it because syntax is so bizarre and difficult to remember. Need to do a for loop over lines in a file? You can bet I’m googling the syntax for it. I have a general idea for what it looks like and know what to search for, but no way in hell can I write it correctly in the first few tries.
String manipulation is the absolute worst. Have fun getting to learn the unreadable syntax of most sed and awk programs (the only thing most people have memorized is find and replace). Stuff like “split a string of comma separated ints and add them up” are way harder in Bash than in Python, despite the fact I often need to do stuff like that in Bash. Well, in the terminal anyway. Sometimes I’ll just use Python, but Python’s weakness is executing programs and getting their output, which is nowhere near as convenient as it is in Bash.
Side note, isn’t it weird that for a language where flags like
--foo bar
are so commonly used, there’s no built in or standard tools for accessing flags?