this post was submitted on 15 Nov 2023
15 points (89.5% liked)

Programmer Humor

19331 readers
20 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] MonkderZweite@feddit.ch 0 points 11 months ago* (last edited 11 months ago) (6 children)

Just don't call it with #!/bin/sh. Because that's POSIX shell, not bash.

[–] philm@programming.dev 0 points 11 months ago* (last edited 11 months ago) (1 children)

but effectively it's bash, I think /bin/sh is a symlink to bash on every system I know of...

Edit: I feel corrected, thanks for the information, all the systems I used, had a symlink to bash. Also it was not intended to recommend using bash functionality when having a shebang !#/bin/sh. As someone other pointed out, recommendation would be #!/usr/bin/env bash, or !#/bin/sh if you know that you're not using bash specific functionality.

[–] MonkderZweite@feddit.ch 1 points 11 months ago* (last edited 11 months ago) (1 children)

Still don't do this. If you use bash specific syntax with this head, that's a bashism and causes issues with people using zsh for example. Or with Debian/*buntu, who use dash as init shell.

Just use #!/bin/bash or #!/usr/bin/env bash if you're funny.

[–] wolo@lemmy.blahaj.zone 0 points 11 months ago (1 children)

#!/bin/bash doesn't work on NixOS since bash is in the nix store somewhere, #!/usr/bin/env bash resolves the correct location regardless of where bash is

[–] JackbyDev@programming.dev 0 points 11 months ago* (last edited 11 months ago) (1 children)

Are there any distos with /usr/bin/env in a different spot? I still believe that's the best approach for getting bash.

[–] MenacingPerson@lemm.ee 0 points 11 months ago (1 children)

All posix-compliant distros need /usr/bin/env

[–] MonkderZweite@feddit.ch 1 points 11 months ago* (last edited 11 months ago)

I do think a simple symlink is superior to a tool parsing stuff. A shame POSIX choose this approach.

Still the issue that a posix shell can be on a non-posix system and vice versa. And certificates versus used practice. Btw, isn't there only one posix certified Linux distro? Was it Suse?

load more comments (4 replies)