Это не bash conf, это tmux confs, поэтому вам следует поискать информацию об этой опции в справке tmux.
Быстрый поиск дал мне это:
If -g is used, the change is made in the global environment; otherwise, it is applied to the session environment for target-session.
Насколько я могу судить, исходный код Bash не различает SYS_BASHRC
и другие включенные rc-файлы после компиляции. Кроме того, SYS_BASHRC
может быть неопределенным, и полученный двоичный файл вообще не будет использовать системный rc.
Однако все файлы, используемые процессом, могут быть обнаружены с помощью strace
. Bash включает rc-файлы, только если он запускается в интерактивном режиме, поэтому:
echo | strace -e openat -o tmp.log bash -i 2>/dev/null
Результирующий файл tmp.log
будет содержать нужную информацию:
openat(AT_FDCWD, "/etc/bash.bashrc", O_RDONLY) = 3
К сожалению, он также будет содержать большое количество строк, например. для библиотек (и перенаправление на /dev/null ). Я не уверен, как выбрать правильную строку в каждом случае. Но на практике я думаю, что это, скорее всего, будет первая не -библиотека в /etc/
:
grep -v O_CLOEXEC tmp.log | grep \"/etc | head -n 1 | sed -e 's/.*"\(.*\)".*/\1/'