Remix.run Logo
kh_hk 7 hours ago

Well, at least I will be able to run my bash scripts in 5 years

g947o 3 hours ago | parent | next [-]

I don't know Ruby, but chances are that your Python/JavaScript scripts are going to run in 5 years as well, if you stick to standard library.

dmix an hour ago | parent | next [-]

Just don't use any NPM libraries (if possible) and you'll be fine. I personally wouldn't use typescript for this sort of thing.

ChrisGreenHeur 3 hours ago | parent | prev [-]

and then your mamba changes

nilamo 2 hours ago | parent [-]

What's that even mean

g_delgado14 an hour ago | parent [-]

no one knows what it means, but it's provocative!!

norir 2 hours ago | parent | prev | next [-]

I consider luajit a much better choice than bash if both maintainability and longterm stability are valued. It compiles from source in about 5 seconds on a seven year old laptop and only uses c99, which I expect to last basically indefinitely.

pzmarzly 6 hours ago | parent | prev | next [-]

Fair. My bash scripts only broke 3 times over the years:

- 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)

greener_grass 5 hours ago | parent | prev | next [-]

Bash is not a great cross-platform choice. Too many subtle differences.

The best way is a scripting language with locked-down dependency spec inside the script. Weirdly .NET is leading the way here.

goalieca 2 hours ago | parent | next [-]

Stick to posix shell and it will run anywhere and on anything no matter how old.

oguz-ismail2 2 hours ago | parent | prev | next [-]

>Too many subtle differences.

Such as?

hiccuphippo 2 hours ago | parent | next [-]

This entire list: https://www.shellcheck.net/wiki/

oguz-ismail2 40 minutes ago | parent [-]

How is any of that a subtle difference between platforms?

greener_grass an hour ago | parent | prev [-]

The tools you will call from your bash script differ in subtle ways between Linux, macOS, MinGW.

One good example is `uuidgen`

oguz-ismail2 39 minutes ago | parent [-]

>uuidgen

That's neither a standard CLI utility nor a bash builtin.

Imustaskforhelp 5 hours ago | parent | prev [-]

Python with uv seems decent in here too.

kh_hk 4 hours ago | parent [-]

python does EOL releases after 5 years. I guess versions are readily available for downloading and running with uv, but at that point you are on your own.

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.

gf000 7 hours ago | parent | prev [-]

For some quality of "run", because I'm hella sure that it has quite a few serious bugs no matter what, starting from escapes or just a folder being empty/having files unlike when it was written, causing it to break in a completely unintelligible way.

kh_hk 6 hours ago | parent | next [-]

I guess we have wildly different expectatives of what a language is responsible for and what not.

7 hours ago | parent | prev [-]
[deleted]