IntelliJ IDEA 终端中的 PATH 环境变量不完整

IntelliJ IDEA 终端中的 PATH 环境变量不完整

我有一个.bashrc设置PATH,并且还提供了另一个文件来扩展所述变量并定义新变量。看起来在通过 IDEA 终端打开的 bash 中,此源配置文件中的 PATH 扩展未应用。

.bashrc:

    if [[ "$ENV_LOADED" != "loaded" ]]; then
        source .extra-conf
    fi


    export PATH="/mypath:$PATH"

.额外配置:

    for i in \
            "$HOME/bin" \
            /sbin \
        if [[ -d "$i" && :$PATH: != *:"$i":* ]]; then
            j+="$i:"
        fi
    done
    [[ -n "$j" ]] && export PATH="${j}$PATH"
    unset i j

    export OTHER_VAR=value1

    # marker var used to detect whether env vars have been loaded:
    export ENV_LOADED=loaded

笔记PATH 将要包含/mypath,并且OTHER_VAR来自 .extra-conf 也可用。但是 .extra-conf 中的所有 PATH 扩展都缺失。这只发生在 IDEA 中,在它之外的其他终端中一切都很好。

这里到底发生了什么?显然 .extra-conf 已被引用,否则 OTHER_VAR 不会被定义 - 那么为什么 PATH 没有更新?

编辑:

根据 Kamil 的评论,围绕 if 块set -x,输出为

+++ [[ loaded != \l\o\a\d\e\d ]]
+++ set +x
++ [[ loaded != \l\o\a\d\e\d ]]
++ set +x

该终端会话还有更多问题 - ssh 密钥也未解锁,如下所示:

Could not open a connection to your authentication agent.
Could not open a connection to your authentication agent.

注意密钥应该由 gnome-keyring-daemon 解锁,从 .xinitrc 执行:

eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)

看起来这是由于SSH_AUTH_SOCKIDEA 终端中缺少环境变量导致的。

相关内容