【问题标题】:Shellscript - Adding a value in the PATH VariableShellscript - 在 PATH 变量中添加一个值
【发布时间】:2010-06-18 17:03:35
【问题描述】:

在我的公司中,我们使用 firebird,每次在新计算机上安装它时,我们都需要添加 firebird 的路径。我需要一些帮助来创建一个 shell 脚本来在这个路径中添加这个值。

【问题讨论】:

    标签: shell path


    【解决方案1】:

    为我之前的回答道歉;由于我所说的仅适用于当前会话,因此我认为这不是您的解决方案所需要的。

    如果我正确理解您的需求,您需要永久更改路径变量,并且更改需要在每台计算机上完成。如果正确,您需要更改包含路径变量的注册表值。 HKLM\System\CurrentControlSet\Control\SessionManager\Environment\Path 如果您希望每个用户使用它,还有一个 HKCU 版本。 CU环境变量存放在HKCU\Environment

    如果需要,您仍然可以使用简单的 cmd 文件,但您必须使用 reg 命令来更改注册表设置,而不是使用 set 命令来设置当前会话的变量。我认为以下是您希望在 cmd 文件中使用的行。

    REG ADD HKLM\System\CurrentControlSet\Control\SessionManager\Environment /v Path /t REG_EXPAND_SZ /d "%path%;directoryToAdd"
    

    【讨论】:

    • 感谢您的帮助!我尝试如下执行: set path=%path%;C:\Arquivos de programas\Firebird\Firebird_2_1\bin 但它没有添加此路径。难道我做错了什么?谢谢!
    • @thiago-gabriell 抱歉之前的混淆;我希望我编辑的答案更符合您的要求。
    • 再次感谢您!我执行为 REG ADD HKLM\System\CurrentControlSet\Control\SessionManager\Environment /v Path /t REG_EXPAND_SZ /d %path%;C:\Program Files\Firebird\Frebird_2_1\bin 但它显示以下消息:错误:无效的语法
    • 很抱歉第二个答案,但我无法以我的声誉点级别评论您的答案(这本身应该是评论)。您需要在其周围加上引号,因为其中有空格。在我的解决方案中,请注意我在路径周围有引号。像“程序文件”这样的目录将有一个空格,这会导致命令的解析方式不同,就好像空格后面的所有内容都是命令的单独参数一样。引用它可以消除这一点。
    【解决方案2】:

    编写以下一行shell脚本以满足您的需求(您无需指定解释器,也无需使文件可执行):

    export PATH=$PATH:<custom_path>
    

    然后在你的 shell 中获取它:

    . script.sh
    

    不要忘记编辑在启动时执行的脚本之一,例如 ~/.bashrc(特定于 Bash)或 /etc/profile

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 2023-02-01
      • 2011-10-04
      • 1970-01-01
      • 2017-12-20
      相关资源
      最近更新 更多