如何在Linux中将多个路径添加到$PATH变量中?

58

我想在 $path 变量中添加多个路径,例如 java 路径和 php 路径。在 Linux 中该怎么做?

我在 bash_profile 中执行了以下操作:

PATH=$JAVA_HOME/bin:$PATH:/usr/java/jdk1.7.0_45/bin/:$AWS_AUTO_SCALING_HOME/bin 

1
你可能只需要将表达式的右侧用双引号括起来,例如 PATH="..." - xaizek
1
尝试使用PATH="$JAVA_HOME/bin:$PATH:/usr/java/jdk1.7.0_45/bin/:$AWS_AUTO_SCALING_HOME/bin"。这只是一个猜测。 - xaizek
我仍然收到错误信息: -bash: as-cmd: 命令未找到 - user3086014
1
那么很可能是$PATH的内容出了问题,你的设置似乎是正确的。 - xaizek
请帮帮我,我已经被卡了4个小时了。 - user3086014
让我们在聊天中继续这个讨论。点击此处进入聊天室 - user3086014
6个回答

113

$PATH 可以由多个以冒号(:)分隔的路径组成。例如:

export PATH=/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/myuser/bin

1
请注意,我必须直接更新bash_profile而不导出路径。 - user3086014
那么你的例子有什么问题呢?具体是什么不起作用? - Mureinik
您对$PATH变量的使用似乎是正确的。您能分享一下具体的错误吗? - Mureinik
当我输入“as-cmd”时,它会给我一个“command not found”的错误。 - user3086014
1
尝试过这个,但是找不到任何可执行文件,甚至连vi或cd都没有。必须将其更改为export PATH="$PATH~/something" - Lucas Bustamante
显示剩余2条评论

12

$PATH环境变量设置为包含安装带有shell脚本的bin目录的路径和两个连续的导出条目,示例如下。

示例:

export ANT_HOME=/path/to/ant/dir
export PATH=${PATH}:${ANT_HOME}/bin:${JAVA_HOME}/bin

为了使它们成为永久的条目,请更新bash_profile文件。


6

将多个可执行文件添加到$PATH变量的一种方法是:

export PATH=/path/to/executable1:\
/path/to/executable2:\
/path/to/executable3:\
/path/to/executable4

如果在 .bash_profile 中已经存在一个$PATH,并且您希望它们优先于可执行文件(如 java 和 php),则可以使用以下命令:
export PATH=$PATH:/path/to/executable1:\
/path/to/executable2:\
/path/to/executable3:\
/path/to/executable4

如果可执行文件的路径包含空格,请将/ ... 可执行文件X部分加上引号。

在完成bash_profile中的更改后,在终端会话中源化该文件,以使更改立即生效:

source .bash_profile

3
  1. 打开终端并输入sudo gedit /etc/profile来打开系统路径文件。
  2. 滚动到底部。
    • VARIABLE_NAME1=/你的/路径/到/位置1
    • VARIABLE_NAME2=/你的/路径/到/位置2
    • PATH=$PATH:$VARIABLE_NAME1:\$VARIABL3_NAME2
    • export PATH
  3. 退出用户并重新登录。

3
如果您使用Mac,我认为最好的方法是遵循Chamindu的答案并进行微调。使用nano或vim,任选其一,但我将使用nano,因为对大多数人来说更容易。
  1. 打开终端并键入nano ~/.bash_profile以打开bash配置文件。
  2. 在顶部键入或复制并粘贴以下内容:
    • FLUTTER="/Users/MyUsername/development/flutter/bin"
    • VSCODE="/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
    • PATH=$PATH:$FLUTTER:\$VSCODE
    • export PATH
  3. 如果像我建议的那样使用nano,请按键盘上的control + x退出。
  4. Y保存更改。
  5. 在终端中键入source ~/.bash_profile以刷新您的bash配置文件/环境变量。

现在,您可以导航到任何目录并调用路径中的文件。

注意:

  • FLUTTERVSCODE替换为您选择的变量名。
  • 如果您没有使用管理员账户,则只需要使用sudo

这是我最喜欢的方式,也是最干净的解决方案。 - Eric Milliot-Martinez
为什么在冒号后面加上反斜杠\\ - undefined
谢谢你指出这个问题,已经被移除了。 - undefined

0
sudo CPATH=/usr/include/linux/:/usr/src/linux-headers-5.17.0-1-common/include/linux/ vmware-modconfig --console --install-all

4
欢迎来到 Stack Overflow!虽然这段代码可能解决了问题,但是解释一下为什么这个代码可以解决问题会有助于提高你的帖子质量,也可能会得到更多赞。请记住,你回答的问题不仅仅是为了现在提问的人,还要考虑未来的读者。请[编辑]你的答案添加解释,并指出其限制和假设条件。 - Yunnosch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接