我的路有点长。我从这些组件构建我的路径。
PART1="/home/$USER/.local/bin:/home/$USER/bin:/usr/local/sbin:/usr/local/bin"
PART2="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
PART3="/usr/local/bin:/home/local/bin:/usr/bin/mh:/home/$USER/go/bin"
export PATH=${PART1}:${PART2}:${PART3}
从 ~/.bash_profile 中运行上面的代码会呈现下面的内容。
/home/kevinc/.local/bin:/home/kevinc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/bin:/home/local/bin:/usr/bin/mh:/home/kevinc/.go/bin:/home/kevinc/go/bin
但是,从使用 ~/.bash_profile 的新终端窗口中,该 shell 中的路径如下。请注意路径“.”已预先添加,并且最后三个目录并未出现在最终结果中。
.:/home/kevinc/.local/bin:/home/kevinc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/bin
我更改了脚本中 PART2 和 PART3 的顺序,输出目录列表仍保持上述顺序。
我想知道环境变量大小是否有最大长度。这个问题已经被许多人在查找 Linux 中使用的限制源代码时多次得到了回答。其他人决定继续增加环境变量的大小,直到程序停止正常工作。这些答案的大小在 10k 到 30M 之间。我认为 244 个字符的大小可能不是限制。
就其价值而言,我正在运行 Linux Mint 21.3,一个版本。落后于最新版本。
是的,我通过 http://shellcheck.net
运行了我的代码.bash_profile
仅由登录 shell 提供,其 SHLVL
为 1
。
在 Linux 桌面会话中,“新”终端不是登录 shell(您可以
echo "$SHLVL"
检查它),所以自然地,对您的 .bash_profile
的任何修改在您重新登录之前都不会被考虑进入您的图形会话。
这就是人们倾向于在
.bashrc
而不是 .bash_profile
中修改环境变量的原因之一。恕我直言,这不是一个很好的做法,因为当使用 Linux(我不会在这里命名)在 export PATH=/opt/bin:$PATH
的 /opt/bin:/opt/bin:/opt/bin:/opt/bin:/opt/bin:/opt/bin:/bin:/usr/bin:/usr/local/bin
打开终端时,简单的 SHLVL
可能最终会变成 6
。 ..