787
Yes (programming.dev)
you are viewing a single comment's thread
view the rest of the comments
[-] MonkderZweite@feddit.ch 21 points 1 year ago* (last edited 1 year ago)

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

[-] philm@programming.dev 5 points 1 year ago* (last edited 1 year ago)

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 1 year ago* (last edited 1 year ago)

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 1 year ago

/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 1 year ago
[-] quantenzitrone@feddit.de 1 points 1 year 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)
this post was submitted on 15 Nov 2023
787 points (96.1% liked)

Programmer Humor

19606 readers
556 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