【问题标题】:Cannot add environment variables in linuxlinux不能添加环境变量
【发布时间】:2015-08-11 16:49:00
【问题描述】:

一整天我一直在尝试向 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 路径。我做错了什么?

【问题讨论】:

    标签: linux ubuntu environment-variables


    【解决方案1】:

    您是否已注销并登录?也尝试更新您的 .bashrc 文件。我认为 .profile 仅用于 ksh shell。

    【讨论】:

      【解决方案2】:

      尝试源文件,比如;

      $ source yourfilename
      

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

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

      【讨论】:

      • 这行得通。但是当我关闭终端并再次打开它时,它不起作用。
      • 尝试将文件重命名为~/.bash_profile并将权限设置为644(chmod)
      【解决方案3】:
      echo 'export PATH="$PATH":/path/to/folder/' >> ~/.bashrc
      

      source ~/.bashrc
      

      【讨论】:

      • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
      猜你喜欢
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      相关资源
      最近更新 更多