272
Which one??? (programming.dev)
submitted 4 months ago* (last edited 4 months ago) by JackbyDev@programming.dev to c/programmer_humor@programming.dev

Fuck it, .zshrc it is.

Image transcription:

  • Top text: I STILL DON'T KNOW WHAT SHOULD GO IN .*RC VERSUS .*PROFILE
  • Bottom text: AND AT THIS POINT I'M AFRAID TO ASK
you are viewing a single comment's thread
view the rest of the comments
[-] gamma@programming.dev 11 points 4 months ago* (last edited 4 months ago)

Select the color which matches the steps before filenames ((non-)login and (non-)interactive), then follow that arrow the rest of the way. There's more colors in Bash because Bash makes a distinction between remote and local shells.

Another way to look at the same data for Zsh (note: $ZDOTDIR will be used instead of $HOME if it's defined at any step along the way):

File neither interactive login both
/etc/zshenv x x x x
${ZDOTDIR:-$HOME}/.zshenv x x x x
${ZDOTDIR:-$HOME}/.zprofile x x
${ZDOTDIR:-$HOME}/.zshrc x x
${ZDOTDIR:-$HOME}/.zlogin x x
${ZDOTDIR:-$HOME}/.zlogout x x

One confusion on the Bash side of the diagram is that you see branching paths into ~/.profile, ~/.bash_profile and ~/.bash_login. Bash will use for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and execute only the first one that exists and is readable.

[-] JackbyDev@programming.dev 3 points 4 months ago

And what's confusing is that many times those files still manually call the others to make it more logical like zsh. That's what I remember at least, it's been quite a while since I used bash.

[-] gamma@programming.dev 4 points 4 months ago

manually call the others

Yeah, most distros will set up source chains to make things nicer for users.

this post was submitted on 18 Jul 2024
272 points (98.6% liked)

Programmer Humor

19623 readers
1 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