【问题标题】:Linux custom executable globally availableLinux 自定义可执行文件全球可用
【发布时间】:2012-04-19 19:12:00
【问题描述】:

我以 zip 格式下载了 Google App Engine,将其解压缩到 /usr/local/google_engine

现在我需要一直从那个文件夹运行一个 python 脚本。无论我的路径在哪里,如何使其可用?即:当我在 /usr/something/ 中时,我可以通过调用 script.py 来执行脚本?

我可以在不使用别名或不使用 bash 脚本的情况下执行此操作吗?

【问题讨论】:

  • 设置你的PATH?喜欢export PATH=$PATH:/usr/local/google_engine

标签: linux ubuntu


【解决方案1】:

编辑您的 .bashrc 以在 PATH 环境变量中添加所需的目录。

export PATH=/usr/local/google_app_engine/bin:$PATH

然后,要么启动新终​​端,要么做,

source ~/.bashrc

现在尝试从任何地方运行脚本。

另一种无需接触 .bashrc 即可实现的方法是通过执行以下操作来创建符号链接,

sudo ln -s /usr/local/google_app_engine/bin/script.py /usr/bin/script.py 

【讨论】:

  • 不应该是ln -s /usr/local/google_app_engine/bin/script.py /usr/bin/script.py吗?与大多数命令一样,带有ln 的目标是最后一个参数。
  • 如果您认为它的工作原理与cp 一样,那很容易记住。
  • 为什么我不能直接将二进制文件复制到/usr/bin/
  • sudo ln -s /usr/local/google_app_engine/bin/script.py /usr/bin/script.py Rocks!
  • zsh: too many levels of symbolic links: /usr/bin/script.py
【解决方案2】:

有两种方法可以做到这一点。正如 Kal 上面提到的,您可以通过添加

将文件夹添加到路径变量
export PATH=/usr/local/google_app_engine/bin:$PATH1 

到你的 .bashrc。或者,如果命令只是一个脚本,您可以将其移动或复制到/usr/bin。这将使它可以作为命令从任何地方访问。

如果您想创建一个命令来执行此操作而不移动 script.py,那么您可以创建一个使用固定路径调用它的 bash 文件,然后将其放入 /usr/bin

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 2019-12-13
    • 2023-03-07
    • 2019-02-19
    • 2018-05-02
    相关资源
    最近更新 更多