Bash 如何使脚本在shell上永久可执行?

Bash 如何使脚本在shell上永久可执行?,bash,terminal,Bash,Terminal,我按照答案制作了一个Python脚本,gn,在/opt/gn中,通过Ubuntu中的终端系统范围内访问,如下所示: PATH=${PATH}:/opt/gn 但是,当我重新启动终端时,我无法再在系统范围内执行脚本。我必须从上面重新键入命令 我试图将该路径复制到~/.profile的最后一行,但它不会那样工作 如何使脚本永久执行?要使脚本永久执行,需要将更新后的路径存储到启动时shell读取的文件中。是否尝试将路径添加到.bashrc-文件 请参阅bash手册页中的调用-部分 适用于你的问题的部

我按照答案制作了一个Python脚本,
gn
,在
/opt/gn
中,通过Ubuntu中的
终端
系统范围内访问,如下所示:

PATH=${PATH}:/opt/gn
但是,当我重新启动
终端
时,我无法再在系统范围内执行脚本。我必须从上面重新键入命令

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


如何使脚本永久执行?

要使脚本永久执行,需要将更新后的路径存储到启动时shell读取的文件中。是否尝试将路径添加到
.bashrc
-文件

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

适用于你的问题的部分是

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

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


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

在Ubuntu中,您可以在
/etc/environment
中添加额外的搜索路径。 只需将您的路径附加到
path=“…”
的末尾,在路径之前添加冒号即可


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

@KevinD:对不起,实际上中的答案不完整。决定性的一条线不见了。。。