2023年12月10日(日) 13:23 Oğuz <oguzismailuy...@gmail.com>: > Trends come and go. If there is demand for this feature bash should do it > by honoring an environment variable like BASH_HOME when looking for rc > files instead of exploring a fixed path.
In that case, a question would be what would be the standard way to specify the Bash-specific variable, BASH_HOME. We cannot set it in ~/.bashrc because it should be specified before Bash decides the location of .bashrc. - Maybe the package managers of distributions can specify the configure option -DSYS_BASHRC and set BASH_HOME there. But, in that case, ~/${XDG_CONFIG_HOME:-~/.config/bash}/bashrc could be directly sourced from SYS_BASHRC, which is already possible with the current Bash. Another problem is that if it is not set up by the package or the system administrators, the user cannot use it. - Besides, Zsh seems to support ZDOTDIR, which can be used to specify the location of user configurations. The Zsh users seem to specify ZDOTDIR in /etc/zshenv or /etc/zsh/zshenv. This approach has the same problem that a user needs to ask a system administrator to configure /etc/zshenv as the user likes. By the way, even if we forget about `.config/bash', it may be more consistent to have a variable like the suggested one. There are already similar variables, ENV and BASH_ENV. However, the former is only used in the interactive posix mode, and the latter is only used in the non-interactive non-posix mode. There does not seem to be a similar variable that can be used in the interactive non-posix mode and the non-interactive posix mode. - interactive posix -> $ENV - interactive non-posix -> N/A (hardcoded to be ~/.bashrc) - non-interactive posix -> N/A - non-interactive non-posix -> $BASH_ENV -- Koichi