【问题标题】:What is this $PATH in Linux and how to modify itLinux 中的 $PATH 是什么以及如何修改它
【发布时间】:2013-05-15 08:34:44
【问题描述】:

我有几个关于 Linux 中的 $PATH 的问题。

我知道它告诉 shell 搜索可执行文件的目录,所以:

  1. 环境变量是什么意思?
  2. 如何改变它的路径?是否建议更改?
  3. 如果我更改它会有什么后果?

【问题讨论】:

    标签: linux path


    【解决方案1】:

    要获取当前路径$PATH 变量类型:

    echo $PATH 
    

    它告诉你的 shell 在哪里寻找二进制文件。

    是的,您可以更改它 - 例如使用您的自定义脚本添加到 $PATH 文件夹。

    所以:如果您的脚本位于 /usr/local/myscripts 中以执行它们,您必须输入脚本的完整路径:/usr/local/myscripts/myscript.sh 更改 $PATH 变量后,您只需输入 myscript.sh 即可执行脚本。

    这是来自 RHEL 的 $PATH 示例:

    /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/user/bin

    要更改您的$PATH,您必须为用户编辑~/.profile(或~/.bash_profile)或/etc/profile 中的全局$PATH 设置。

    $PATH 变量不准确的后果之一是,如果没有完整的$PATH,shell 将无法找到并执行程序。

    【讨论】:

    • 天哪,您的声明为我澄清了一切 --> “所以:如果您的脚本位于 /usr/local/myscripts 中以执行它们,您将必须输入完整路径到脚本:/usr/local/myscripts/myscript.sh 更改 $PATH 变量后,您只需键入 myscript.sh 即可执行脚本。”非常感谢
    • 当你在这里的时候,你能不能简单解释一下这是什么 --> ~/.bashrc
    • @ruggedbuteduducated 只是登录后执行的 bash 命令。请查看 man bash 并搜索 bashrc。
    • 在 linux mint 中查看 .bashrc 和 .profile 的主文件夹中的路径声明
    【解决方案2】:

    首先,您对 $PATH 的作用的陈述是正确的。如果您要以某种方式破坏它(根据您的第三点),如果您想从终端运行 /usr/bin 中的程序,则必须手动输入 /usr/bin/xyz。根据各个程序的工作方式,这可能会破坏一些调用其他程序的程序,因为它们希望能够运行 ls 或其他东西。

    因此,如果您要使用 $PATH,我建议您先将其保存在某个地方。使用命令行指令

    echo $PATH > someRandomFile.txt
    

    将其保存在 someRandomFile.txt 中

    您可以使用 export 命令更改 $PATH。所以

    export PATH=someNewPath
    

    但是,这将用 someNewPath 完全替换 $PATH。由于路径中的项目以“:”分隔,因此您可以通过执行向其添加项目(最好不要删除,见上文)

    export PATH=$PATH:newPath
    

    它是一个环境变量意味着程序可以找到它的值,即它是关于程序运行环境的设置。其他环境变量包括当前目录和地址等当前代理。

    【讨论】:

      【解决方案3】:

      这很简单,我喜欢这种方式。

      打开 linux bash shell 并打印环境变量:

      printenv
      

      我将“PATH”变量复制到文本编辑器并根据需要进行编辑。然后像这样更新PATH

      export PATH= /variable dir list/
      

      它有效。

      或者,如果您想添加单个变量,请使用此命令。

      export PATH = $PATH:/variable_dir_path/
      

      这将使用您的新目录路径扩展 PATH。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多