【问题标题】:How can I edit the $PATH on linux?如何在 Linux 上编辑 $PATH?
【发布时间】:2010-10-28 22:44:17
【问题描述】:

我使用的是 ubuntu 9.04 我需要在我的 $PATH 中添加一些文件夹。 我知道如何读取路径:

echo $PATH

我希望能够对其进行编辑并添加 2 个其他路径。

谢谢

【问题讨论】:

标签: linux shell ubuntu


【解决方案1】:

要永久存储您的路径,您有几个选择。

我建议您阅读Environment Variables 上的 Ubuntu 社区 wiki,但简短的回答是,最好的位置是 ~/.profile 用于您的每用户 PATH 设置或/etc/profile 用于全局设置。

做类似export PATH=$PATH:/your/new/path/here的事情

【讨论】:

  • 请务必注意,您的配置文件在很多情况下都不会运行(例如,当脚本由 cron 运行时)。如果您需要在 PATH 中设置特定路径,则必须通过脚本设置该路径。也就是说,脚本不应该依赖路径中的任何内容,并且应该始终使用绝对路径,其他任何内容都是安全问题。
  • 读者,如果您想在 Linux 上编辑 $PATH,而不仅仅是为其添加路径,请参阅superuser.com/questions/1353497/removing-directories-from-path 的答案。
【解决方案2】:
PATH=$PATH:newPath1:newPAth2
export PATH

【讨论】:

  • 如果您愿意,我认为您可以在一行中完成所有操作。导出 PATH=$PATH:newPath1:newPAth2
  • 这取决于您使用的外壳。在 Solaris 上(我知道这个问题是关于 Linux 的)其中一个 shell(不记得是哪一个)要求您将导出与在脚本中设置值分开进行。所以我刚刚养成了在 2 行上做的习惯。
【解决方案3】:

你也可以把它放到全局环境中:

sudo emacs /etc/environment

追加到路径中已有的条目

PATH="/path/to/file:/other/paths"

重新加载环境

source /etc/environment

【讨论】:

  • 编辑环境文件是我可以让 PATH 更改并保持更改的唯一方法。
【解决方案4】:

已经回答了如何做到这一点,但我想给你一点提示。这是我的工作:

我的$HOME 中有一个名为.bash.d 的目录,其中我保留了一组shell 脚本,这些脚本可以对我的环境进行处理(例如正确设置maven、修改路径、设置我的提示符等)。我通过使用git 将其保持在版本控制之下,如果你搞砸了一些事情,它可以很容易地回到你的环境的工作版本。要获得所有修改,我只需在 .bashrc 末尾的那个目录中获取所有文件,如下所示:

for i in $HOME/.bash.d/*; do source $i; done
unset i

这为您提供了一个非常灵活的环境,您可以轻松修改和恢复 + 您只需使用 git 即可将其导出到其他机器。

【讨论】:

    【解决方案5】:

    回显 PATH=$PATH:path1:path2 > tmp

    用你喜欢的文本编辑器编辑文件 tmp,这样 PATH 的值就是你想要的

    。 ./tmp

    【讨论】:

      【解决方案6】:

      上面的变体,如果您不想直接更改 /etc/profile 文件。 您可以在 /etc/profile.d/ 目录中创建一个新文件 yourpath.sh。然后像这样编辑这个文件。使用 vim 编辑器(但可以随意使用其他编辑器进行编辑): vim /etc/profile.d/yourpath.sh

      MYPATH='/your/new/path/'
      export MYPATH
      export PATH=$PATH:$MYPATH
      

      :write 和 quit 就完成了,您的路径已被修改。如果您正在使用终端,请将其关闭并重新打开。您的新变量将被更新。 现在它更干净了,您可以在不再需要此文件时将其删除,并且不会干扰初始配置。

      【讨论】:

      • (1)只要PATH被导出,MYPATH就不需要(除非你需要它用于其他目的)。 (2)在vim中保存(写入)和退出的快捷方式是ZZ——不需要:或(回车)。
      【解决方案7】:

      所有答案都打算添加到PATH,但这是删除环境变量的方式

      假设你有路径

      PATH=/home/pradan/ti-processor-sdk-linux-am57xx-evm-06.02.00.81/linux-devkit/sysroots/x86_64-arago-linux/usr/bin:...other variables...:/snap/bin
      
      

      并想删除第一个变量/home/pradan/ti-processor-sdk-linux-am57xx-evm-06.02.00.81/linux-devkit/sysroots/x86_64-arago-linux/usr/bin

      1. 打开.profile 并编辑它
      $ gedit ~/.profile
      

      打开一个带有 hated 变量的文本编辑器,如图所示 注释掉并在Ctrl+S之后关闭此文件。

      1. 获取脚本
      $ source /etc/environment
      

      完成了:)

      要验证,请使用printenv 重新检查更新的路径。

      【讨论】:

        【解决方案8】:

        如果你使用的是 ZSH,你可以像这样编辑你的路径:

        nano ~/.zshrc
        

        【讨论】:

          猜你喜欢
          • 2015-08-08
          • 2020-08-04
          • 1970-01-01
          • 2011-12-03
          • 1970-01-01
          • 2020-10-30
          相关资源
          最近更新 更多