3 ms·
> Interestingly, because /bin/sh sets $SHELL, fish doesn’t change that value, so my fish shell reports /bin/sh as the value for $SHELL Fish actually doesn’t wr
by ComputerGuru 3y ago
> Interestingly, because /bin/sh sets $SHELL, fish doesn’t change that value, so my fish shell reports /bin/sh as the value for $SHELL
Fish actually doesn’t write to (or directly use?) $SHELL at all, as it doesn’t consider it part of the shell’s contract to do so. At least if I’m not misremembering.
- SushiHippie 3y agoOn linux the $SHELL variable is set by login(1) and not the shell itself. I think this is the case for BSD too. See: https://man.archlinux.org/man/login.1 https://man.archlinux.org/man/login.1 > The environment variable values for $HOME, $USER, $SHELL, $PATH, $LOGNAME, and $MAIL are set according to the appropriate fields in the password entry.
- adrian_b 3y agoTrue. For instance I have "/bin/bash" in passwd, but I always switch to zsh. $SHELL remains "/bin/bash".