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

Programmer Humor

24709 readers
326 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 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] MonkderZweite@feddit.ch 21 points 2 years ago* (last edited 2 years ago) (17 children)

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

[–] philm@programming.dev 5 points 2 years ago* (last edited 2 years ago) (16 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 21 points 2 years ago* (last edited 2 years ago) (10 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.

[–] quantenzitrone@feddit.de 0 points 2 years ago (1 children)

/bin/bash won't work on every system for example NixOS some other systems may have bash in /usr/bin or elsewhere

[–] MonkderZweite@feddit.ch 1 points 2 years ago (1 children)
[–] quantenzitrone@feddit.de 1 points 2 years ago

Binaries are not in /usr/bin or /bin except for /bin/sh and /usr/bin/env. Programs should not assume fixed paths for binaries and instead look for them in $PATH.

load more comments (8 replies)
load more comments (13 replies)
load more comments (13 replies)