【问题标题】:Setting PATH on Mac so that it persists between sessions在 Mac 上设置 PATH 使其在会话之间持续存在
【发布时间】:2017-06-04 13:00:43
【问题描述】:

我在我的 Mac 上编写了一个 shell 脚本,可以从文件夹中正常运行。尝试使其全局可执行我使用了以下脚本:

export PATH="$PATH:~/scripts"

随后,我可以从任何文件夹运行命令blaster。但是,如果我关闭终端窗口,PATH 似乎会丢失,我必须再次运行原始命令。知道为什么需要重新建立 export PATH 吗?

【问题讨论】:

    标签: bash macos shell terminal environment-variables


    【解决方案1】:

    他们不会

    因为您当前的 export 保留在您运行脚本的当前 shell 中。一旦 shell 终止,导出的变量就会失去作用域。添加一行

    echo 'export PATH=$PATH:~/scripts' >> ~/.bashrc 
    

    要使更改永久生效,请在 .bashrc/.bash_profile.profile 中添加行,具体取决于您的登录 shell。在提示出现之前读取和获取这些文件(在当前 shell 中执行),从后续点开始,您可以直接调用您的脚本

    【讨论】:

    • 波浪号-~ 括在引号中时不会扩展到用户主文件夹。
    • @fd0:现在好多了!谢谢你的收获!
    • 太棒了,谢谢。这应该永久包含该目录中的所有 shell 脚本?
    • @JesseJamesRichard :会的!
    • 有没有办法创建一个脚本来更新当前终端会话的路径,但不是以永久方式将其写入.bashrc?或者也许从具有更新路径的脚本中打开一个新终端?
    猜你喜欢
    • 2013-11-08
    • 1970-01-01
    • 2017-12-28
    • 2011-10-10
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    相关资源
    最近更新 更多