【问题标题】:How to make script executable on shell permanently?如何使脚本在 shell 上永久可执行?
【发布时间】:2013-04-15 17:43:55
【问题描述】:

我按照this 的回答在/opt/gn 中制作了一个Python 脚本gn,可以通过Terminal 系统范围在Ubuntu 中访问,如下所示:

PATH=${PATH}:/opt/gn

但是,当我重新启动 Terminal 时,我无法再在系统范围内执行脚本。我必须从上面重新输入命令。

我试图将 PATH 复制到 ~/.profile 的最后一行,但它不会那样工作。

如何永久执行脚本?

【问题讨论】:

标签: bash terminal


【解决方案1】:

在 Ubuntu 中,您可以将其他搜索路径添加到 /etc/environment。 只需在 PATH="..." 末尾附加您的路径,在您的路径前添加冒号即可。

之后您必须重新登录或重启。

【讨论】:

    【解决方案2】:

    要使其永久化,您需要将更新后的路径存储到您的 shell 在启动时读取的文件中。尝试将路径添加到您的.bashrc-文件?

    请参阅 bash 手册页中的 INVOCATION-部分

    适用于您的问题的部分是

    当一个不是登录 shell 的交互式 shell 启动时,bash 读取并 如果这些文件存在,则执行来自 /etc/bash.bashrc 和 ~/.bashrc 的命令。

    当 bash 作为交互式登录 shell 或非交互式 shell 调用时 使用 --login 选项,它首先从文件中读取并执行命令 /etc/profile,如果该文件存在。读取该文件后,它会查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,依次读取和执行 从第一个存在且可读的命令中提取命令。

    意味着您只是将更新后的路径放在错误的文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 2022-11-18
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多