使脚本可执行

Gai*_*tus 3 linux ubuntu

我试图通过从任何地方输入程序名称(例如 usearch [options])来执行程序(Usearch 或 samtools)。我正在运行 Ubuntu。

说明说“将二进制文件添加到您的路径以使其在命令行上可用”但我不知道这意味着什么或如何做。在线搜索带来了我无法理解的事情。

有人可以给我一个简单的一步一步如何做到这一点吗?

Gra*_*ray 8

“将二进制文件添加到您的路径中,使其在命令行中可用”

在 Unix 中,PATH环境变量,它定义了当您在命令行中输入可执行程序时,shell 在何处查找要运行的可执行程序。如果您执行以下操作:

echo $PATH
Run Code Online (Sandbox Code Playgroud)

你可以看到你的PATH样子。PATH然后在您键入命令(如ls)时(按顺序)搜索上的所有目录。例如,我的 $PATH 是:

.:/usr/local/bin:/usr/bin:/bin
Run Code Online (Sandbox Code Playgroud)

当我输入lsshell 时,将在.(当前目录)中查找可执行文件,然后在所有其他目录中查找,直到找到它,可能在/bin/ls.

您需要确保您的脚本是可执行的 ( chmod +x myscript),然后它需要位于PATH变量的目录之一中。

在系统的 bin 目录中安装本地脚本和程序被认为是一种不好的做法。通常我会在我的 shell 的启动配置文件中放置如下内容,.profile但可能是.bashrc.zshrc取决于 shell:

export PATH=$HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

这将在您的主目录中添加一个个人 bin 目录到路径中,您可以在其中放置您自己的脚本。一旦您更改了 shell 的配置文件,您将需要再次登录以读取配置文件。

如果您想为系统上的所有用户安装脚本,那么放置脚本的更好位置是/usr/local/bin. 您应该/usr/local/bin使用上述机制确保它在您的路径中。

所以你需要:

  1. 使您的程序可执行 ( chmod +x my-program)
  2. 也许将您自己的本地 bin 目录或添加/usr/local/binPATH您的.profile.
  3. 将其安装在您PATH环境中的目录中。