4 ms·
I often see people recommending Python as a replacement for Bash scripts (utilizing common Unix tools like grep and awk). I'm pretty sure a script from 2016 wil
by trallnag 2y ago
I often see people recommending Python as a replacement for Bash scripts (utilizing common Unix tools like grep and awk). I'm pretty sure a script from 2016 will still be working fine now.
- swiftcoder 2y ago> I'm pretty sure a bash script from 2016 will still be working fine now. In some environments, yes. A bunch of platforms have started using bash-compatible (but not actually bash) shells like fish to help with startup performance. Apple has upgraded from a truly ancient version of bash to a somewhat-modern one in that time (and then gone all-in on zsh instead). Things change on the scale of a decade.
- jkaplowitz 2y agoAnd yet, if the script is written to POSIX sh standards and has the #!/bin/sh shebang line, none of that breaks. Yes, of course, things do change incompatibly in a decade, probably including some of the nonstandard platform-specific commands called by the script regardless of which dialect of shell. But people who use a nonstandard shell dialect - however common it might be at the time of writing - should be prepared for that shell to become uncommon, absent by default, installed at a different path, incompatibly changed, or otherwise unusable a decade later to an extent that people writing to the standard do not.
- nuancebydefault 2y agoThe bash side will still work but the tools called by bash won't. Same goes for python/packages.
- Too 2y agoAssuming the script even worked fine in the first place. Usually quite unlikely.
- fulafel 2y agoThey break more often than Python scripts, from reasons unrelated to bash versions, though.