无法在 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
一整天我都在尝试向 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