Hacker News new | comments | show | ask | jobs | submit login

The script is not a proper POSIX bourne shell script, as it uses arrays.

For starters, it won't work in dash (Debian and Ubuntu /bin/sh implementation). So the shebang line should be changed to #!/bin/bash (not sure if it would work in Zsh either).

Maybe this shouldn't be a shell script. A C implementation would be quite portable and also pretty fast.

Fork and fix please!

... and send a pull-request, so everyone can share the happy.

Already done, and someone even did a better fix:


NetBSD seriously doesn't put bash in /bin? That's just broken by design.

I can't speak to NetBSD, but FreeBSD doesn't put any user-installed programs in /bin or /usr/bin, they all go into /usr/local. Since bash isn't distributed as part of the base system, it goes into /usr/local/bin/bash

So then how do you write cross-platform scripts? You can't even do "#!/usr/bin/env bash" since I'm assuming what you're saying means 'env' is in /usr/local/ as well, but on Linux systems it'll be in /usr/.

Broken! Can we please just pick one convention and stick with it? Oh, standards... so many to choose from.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact