当前位置: 首页 > 知识库问答 >
问题:

Ubuntu中PATH变量设置在哪里?[重复]

商飞龙
2023-03-14

这是我在为Linux创建命令行应用程序工具时偶然发现的一个非常有趣的问题。不幸的是,关于SO的答案隐藏在其他问题的无数答案中,因此我决定向那些希望以编程方式修改PATH的人提出另一个关于SO的问题。

共有2个答案

邬朗
2023-03-14

临时变更:

~$ export PATH=$PATH:~/root/scripts

对于永久更改,您可以将此行添加到/etc/环境文件中,如下所示:

PATH=$PATH:~/root/scripts
柯英奕
2023-03-14

GrzegorzŻur对另一个问题的回答巧妙地抓住了这一点。不幸的是,它被隐藏在许多其他答案之中。

有多种方法可以做到这一点。实际解决方案取决于目的。

变量值通常存储在分配列表或在系统或用户会话开始时运行的外壳脚本中。对于外壳脚本,您必须使用特定的外壳语法。

  1. 唯一分配的列表。非常适合将系统范围的目录(如usr/local/something/bin)添加到PATH变量或定义JAVA\U HOME
  2. 启动X Window系统会话时执行的Shell脚本。这是为每个登录到X Window系统的用户运行的。对于对每个用户都有效的路径条目,如usr/local/something/bin,它是一个很好的选择。该文件包含在其他脚本中,因此请使用POSIX shell语法,而不是用户shell的语法
  3. etc/profile和etc/profile。d/*Shell脚本。这对于纯shell系统是一个很好的选择。这些文件由shell只读
  4. <代码>/等/

此外,etc/environment不是脚本文件,而是由赋值表达式组成,每行一个。由于此文件存储系统范围的语言环境和路径设置,因此它是最常被引用的选择。不建议使用etc/profile。它只存在于指向etc/bash的地方。bashrc和从etc/profile收集条目。d

  1. <代码>~/。pam\U环境。唯一分配列表。如果是X Window系统会话或shell,则在每个用户会话开始时由PAM加载与此无关。您不能引用其他变量,包括HOME(主页)或PATH(路径),因此它的用途有限
 类似资料:
  • 问题是:当我使用 这给了我一个例外: IOException:应用程序默认凭据不可用。如果运行在Google App Engine、Google Compute Engine或Google Cloud Shell上,则可以使用它们。否则,环境变量GOOGLE_APPLICATION_CREDENTIALS必须定义为指向定义凭据的文件。 排队 所有代码都可以在上面给出的链接中找到。

  • 我有一个关于在AMPPS中为PHP脚本设置“$PATH”变量的问题(在OSX 10.10 Yosemite上)。 AMPPS中的PHP似乎以我的用户“danny”的身份运行,但是它看到的$PATH是不同的。以下是我在终端上看到的:Dannys MacBook Air:AMPPS danny$echo$PATH/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

  • 3.1.1.设置PATH环境变量 Android SDK里有个目录,主要的工具都在里面。我们将会频繁地用到这些工具,因此把你的~/android-sdk/tools/目录加入系统的环境变量PATH会是个好办法,这一来就不需要每次使用它们时都切换目录了。 不同系统设置环境变量的方式各有不同,详见Installing Android SDK页面中的第二步。 (译注:Installing Android

  • 我的Python程序有问题。在IDE(间谍IDE)上运行此程序时,我没有得到任何错误,并且它工作得很好。否则,如果我在python IDLE中运行它,我会得到以下错误。 我认为这个错误与Python路径环境变量有关,因为我找不到该模块。

  • 测验sh包含: 我设置测试。sh至chmod 777 我用两个参数开始脚本: 然后我通过键入以下内容进行测试: 结果: 我做错了什么?

  • 问题内容: 我的crontab每小时运行一次。当用户从终端运行作业时,运行它的用户在工作中具有环境变量,但是,显然,crontab在运行时不会被环境变量吸收。 我尝试过将它们放入,但是它们似乎仍然没有被捡起。有谁知道我可以将crontab可以接收的环境变量放在哪里? 问题答案: 在运行命令之前,让’cron’运行一个设置环境的shell脚本。 总是。 〜/ bin / Cron中的脚本都是指向单个