- when ls started quoting filenames with spaces (add -N)
- when perl stopped being installed by default in CentOS and AlmaLinux (had to add dnf install -y perl)
- when egrep alias disappeared (use grep -E)
Your fault: http://mywiki.wooledge.org/ParsingLs
The best way is a scripting language with locked-down dependency spec inside the script. Weirdly .NET is leading the way here.
bash is glue and for me, glue code must survive the passage of time. The moment you use a high-level language for glue code it stops being glue code.
Such as?
One good example is `uuidgen`
That's neither a standard CLI utility nor a bash builtin.
If using a programming language with locked-down package dependencies, then all you need is the compiler/interpreter and your script will work.
Aside: I am somewhat disappointed that the @std guys don't (re)implement some of the bits that are part of Deno or node compatibility in a consistent way, as it would/could/should be more stable over time.
I like Deno/TS slightly more because my package/library and version can be called directly in the script I'm executing, not a separate .csproj file.