Hacker News new | ask | show | jobs
by ridiculous_fish 4044 days ago
Thanks for sharing this. The files in the *.d directories are bourne-syntax, and so fish can't understand them; that's why fish doesn't read them (excepting /etc/paths.d).

bash only reads the files in /etc/profile.d when launched interactively, so those files won't be read for #!/bin/sh scripts. Of course, if you launch the script from an interactive bash session, the script will inherit the variables that the profile.d files set up.

As an aside, this zoo of configuration files is something that fish tries to avoid. fish reads its config files unconditionally, and leaves it up to the file to branch on whether the session is interactive.

1 comments

/bin/sh isn't BASH always ?? I'm on a Debian derived Linux:

$ ls -l /bin/sh lrwxrwxrwx 1 root root 4 Feb 19 17:51 /bin/sh -> dash