无法在 linux 中添加环境变量

Cannot add environment variables in linux

一整天我都在尝试向 linux 添加环境变量,但它不起作用。这是我关注的guide。这是写在 .profile 文件中的内容。

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
JAVA_HOME=/usr/local/java/jdk1.8.0_51
JRE_HOME=$JAVA_HOME/jre
LARAVEL=/home/user/.composer/vendor/bin
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$LARAVEL
export JAVA_HOME
export JRE_HOME
export LARAVEL
export PATH

我正在运行整理文件。但是当我 运行 echo $PATH 我没有得到 $LARAVEL 路径。我做错了什么?

尝试获取文件源,例如;

$ source yourfilename

在 Unix/Linux 中(与 Windows 中不同)程序不能影响父进程的环境。当您 运行 它作为常规 shell 脚本时,它成为父进程的子进程,它只会影响它自己的环境而不影响父进程。

使用关键字 source(或使用点 .)将指示您的进程直接执行 shell 脚本而不是 fork 新的子进程。

您退出并登录了吗?也尝试更新您的 .bashrc 文件。我认为 .profile 仅用于 ksh shell.

echo 'export PATH="$PATH":/path/to/folder/' >> ~/.bashrc

source ~/.bashrc